Seeing that multiple TTYs exist on FreeBSD and Darwin, and they provide the core of macOS and iOS, how would I access such TTYs? And would they be multiple instances of GUIs or would they involve terminals? I would very much prefer for there to be an environment similar to FreeBSD for testing purposes.

Please enlighten me as to whether or not such environments exist (or can exist) on Apple's OSes. I am interested in whether or not I can create one as a proof-of-concept, whether it can be on iOS 13 beta, iOS 5, macOS Mojave, or macOS Snow Leopard.

1 Answer 1


TTYs exist and operate in Mac OS X and macOS just as they do in any other UNIX or UNIX-like operating system. When macOS boots, the TTY that inits to subsequently load the GUI is always console. Subsequent TTYs opened from Terminal.app or other emulators are listed from ttys000 and the digits increment one at a time.

You can open Terminal and check your TTY as in the examples below:

$ tty


$ who
trane    console  Sep  1 05:18 
trane    ttys000  Sep  1 05:19 
trane    ttys001  Sep  1 05:19


$ w
13:04  up 1 day,  7:46, 3 users, load averages: 1.85 2.02 3.87
USER     TTY      FROM              LOGIN@  IDLE WHAT
trane    console  -                Sun05   31:45 -
trane    s000     -                Sun05       - w
trane    s001     -                Sun05       9 -bash

For more information on those commands, see the relevant man pages. For e.g., type man who and quit using q.

It's worth noting that macOS only runs one instance of the Aqua GUI for a particular display device.

  • I know that macOS isn't Linux, but I would assume that opening up a Terminal from Spotlight would make the equivalent of a pty (pseudoTTY) rather than a true TTY. Is it at all possible to have multiple TTYs and to switch between them with something like Ctrl-Alt-F# in X11?
    – user313423
    Commented Sep 2, 2019 at 4:17
  • @VarunNarravula macOS does not have the equivalent of Linux's getty that enables users to switch between virtual text-console TTYs and X sessions. Older versions of OS X and macOS up to 10.9.x enabled users to login to console text sessions by way of entering ">console" in the username field. That has since been removed. Apple now expects users to operate explicitly from the GUI and run terminal emulators as required from within that environment. (Ex-Linux user here and, yeah, I liked the days of separate TTYs and an X session.) Commented Sep 2, 2019 at 4:37

You must log in to answer this question.