Mac Developer Library Developer


This manual page is for Mac OS X version 10.9

If you are running a different version of Mac OS X, view the documentation locally:

  • In Terminal, using the man(1) command

Reading manual pages

Manual pages are intended as a quick reference for people who already understand a technology.

  • To learn how the manual is organized or to learn about command syntax, read the manual page for manpages(5).

  • For more information about this technology, look for other documentation in the Apple Developer Library.

  • For general information about writing shell scripts, read Shell Scripting Primer.

TTYS(5)                     BSD File Formats Manual                    TTYS(5)

     ttys -- terminal initialization information

     The file ttys contains information that is used by various routines to initialize and control the use
     of terminal special files.  This information is read with the getttyent(3) library routines.  There is
     one line in the ttys file per special device file.  Fields are separated by tabs and/or spaces.  Fields
     comprised of more than one word should be enclosed in double quotes (``"'').  Blank lines and comments
     may appear anywhere in the file; comments are delimited by hash marks (``#'') and new lines.  Any
     unspecified fields will default to null.

     The first field is normally the name of the terminal special file as it is found in /dev.  However, it
     can be any arbitrary string when the associated command is not related to a tty.

     The second field of the file is the command to execute for the line, usually getty(8), which initial-izes initializes
     izes and opens the line, setting the speed, waiting for a user name and executing the login(1) program.
     It can be, however, any desired command, for example the start up for a window system terminal emulator
     or some other daemon process, and can contain multiple words if quoted.

     The third field is the type of terminal usually connected to that tty line, normally the one found in
     the termcap(5) data base file.  The environment variable TERM is initialized with the value by either
     getty(8) or login(1).

     The remaining fields set flags in the ty_status entry (see getttyent(3)), specify a window system
     process that launchd(8) will maintain for the terminal line.

     As flag values, the strings ``on'' and ``off'' specify that launchd(8) should (should not) execute the
     command given in the second field, while ``secure'' (if ``on'' is also specified) allows users with a
     uid of 0 to login on this line.  The flags ``local'', ``rtscts'', ``mdmbuf'', and ``softcar'' modify
     the default behaviour of the terminal line, and their actions are driver dependent.  The ``local'' flag
     causes the driver to treat the line as if it locally connected.  The ``rtscts'' flag instructs the
     driver to use RTS/CTS hardware flow control, if possible.  The ``mdmbuf'' flag instructs the driver to
     use DTR/DCD flow control, if possible.  The ``softcar'' flag causes the driver to ignore hardware car-rier carrier
     rier on the line.  These flag fields should not be quoted.

     The string ``window='' may be followed by a quoted command string which launchd(8) will execute before
     starting the command specified by the second field.


     Numeric sequences of terminals can be represented in a more compact format.  A matching pair of square
     bracket may enclose two numbers (the start and stop values), separated by a hyphen.  The numbers are
     assumed to be decimal, unless prefixed with ``0x'', in which case they are interpreted as hexadecimal.
     The number of characters (not including any ``0x'') in the starting value gives the minimum width;
     sequence values are zero padded up to this width.  Thus ``tty[00-07]'' represents the eight terminals
     ``tty00'' through ``tty07''.

     # root login on console at 1200 baud
     console "/usr/libexec/getty std.1200"   vt100   on secure
     # dialup at 1200 baud, no root logins
     ttyd0   "/usr/libexec/getty d1200"      dialup  on      # 555-1234
     # Mike's terminal: hp2621
     ttyh0   "/usr/libexec/getty std.9600"   hp2621-nl       on      # 457 Evans
     # John's terminal: vt100
     ttyh1   "/usr/libexec/getty std.9600"   vt100   on              # 459 Evans
     # terminal emulate/window system
     ttyv0   "/usr/X11/bin/xterm -display :0"        xterm   on window="/usr/X11/bin/X :0"
     # the sequence of eight terminals tty00 through tty07
     tty[00-07]     "/usr/libexec/getty std.9600"  vt100      on
     # Network pseudo ttys -- don't enable getty
     ttyp0   none    network
     ttyp1   none    network off
     # All sixteen of a pseudo tty sequence
     ttyq[0x0-0xf]  none                           network

     login(1), getttyent(3), ttyslot(3), gettytab(5), termcap(5), getty(8), launchd(8)

     A ttys file appeared in Version 6 AT&T UNIX.

BSD                              May 27, 2005                              BSD

Reporting Problems

The way to report a problem with this manual page depends on the type of problem:

Content errors
Report errors in the content of this documentation with the feedback links below.
Bug reports
Report bugs in the functionality of the described tool or API through Bug Reporter.
Formatting problems
Report formatting mistakes in the online version of these pages with the feedback links below.