Updated: 2022/Sep/29

Please read Privacy Policy. It's for your privacy.

TTYS(5)                       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 comprising 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.

     Each line in ttys has the format:
           tty command type flags

     The first field is the name of the terminal special file as it is found
     in /dev.

     The second field of the file is the command to execute for the line,
     usually getty(8), which initializes and opens the line, setting the
     speed, waiting for a user name and executing the login(1) program.
     However, it can be 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 terminfo(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))
     or specify a window system process that init(8) will maintain for the
     terminal line or a key into a database of tty attributes (currently

     on or off
              init(8) should (or should not) execute the command given in the
              second field.

     secure   If on is specified, allows users with a uid of 0 (e.g. "root")
              to login on this line.

     local    Sets the TIOCFLAG_CLOCAL tty(4) flag for the device.  This will
              cause the termios(4) CLOCAL flag to be set on every open and
              thus modem control signal lines will be ignored by default.

     softcar  Causes the driver to ignore hardware carrier on the line (by
              setting the TIOCFLAG_SOFTCAR tty(4) flag).

     rtscts   Sets the TIOCFLAG_CRTSCTS tty(4) flag for the device to enable
              RTS / CTS "hardware" flow control by default.

     mdmbuf   Sets the TIOCFLAG_MDMBUF tty(4) flag for the device to enable
              DTR / DCD "hardware" flow control by default.

     The flags "local", "rtscts", "mdmbuf", and "softcar" modify the default
     behaviour of the terminal line, and their actions are device driver
     dependent.  These flag fields should not be quoted.

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

     The string ``class='' may be followed by a quoted string used as a key
     into a database of attributes for that category of tty.  See getttynam(3)
     for more information on this feature.

     After changing the ttys file a SIGHUP signal can be sent to init(8) with
     the command "kill -s HUP 1".  On receipt of this signal, init(8) will re-
     read the ttys file and spawn any necessary getty(8) processes.

     Nota Bene: Sending SIGHUP to init(8) does not change the state of the
     various tty(4) device flags listed above; the ttyflags(8) program must be
     run for changes in those flags to take effect on the devices.


     # root login on console at 1200 baud
     console "/usr/libexec/getty std.1200"   vt100   on secure
     # dialup at 1200 baud, no root logins
     tty00   "/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/new/xterm -L :0"          vs100   on window="/usr/new/Xvs100 0"
     # Network pseudo ttys -- don't enable getty
     ttyp0   none    network
     ttyp1   none    network off

     login(1), getttyent(3), ttyslot(3), tty(4), gettytab(5), terminfo(5),
     getty(8), init(8), ttyflags(8)

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

NetBSD 10.99                     April 5, 2012                    NetBSD 10.99