Updated: 2025/Nov/16

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


TTYS(5)                       File Formats Manual                      TTYS(5)

NAME
     ttys - terminal initialization information

DESCRIPTION
     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
     unused).

           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
     field.

     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 -HUP 1

     On receipt of this signal, init(8) will re-read the ttys file and spawn
     any necessary getty(8) processes.

     NB: 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.

FILES
     /etc/ttys

EXAMPLES
     # 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

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

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

NetBSD 11.99                     July 6, 2024                     NetBSD 11.99