TTYS(5) BSD File Formats Manual TTYS(5)
ttys -- terminal initialization information
The ttys file contains information that is used by various routines to
initialize and control the use of terminal special files. This informa-
tion 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 newlines. Any
unspecified fields will default to null.
The first field is the name of the terminal special file as it is found
The second field of the file is the command to execute for the line, usu-
ally getty(8), which initializes 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 sys-
tem terminal emulator or some other daemon process, and can contain mul-
tiple 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) database file. The envi-
ronment variable TERM is initialized with the value by either getty(8) or
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. The following is a list of permitted flags for each TTY:
on Specify that init(8) should execute the command given in the
off The opposite of on.
secure If on is also specified, allows users with a UID of 0 to log in
on this line. If set for the console entry, then init(8) will
start a single-user shell without asking for the superuser pass-
Additionally, the following flags modify the default behavior of the ter-
minal line. Some of these flags may not be supported by a terminal line
driver. The flag fields should not be quoted.
local Treat the line as if it is locally connected.
rtscts Use RTS/CTS hardware flow control, if possible.
mdmbuf Use DTR/DCD flow control if possible.
softcar Ignore hardware carrier on the line.
The string window= may be followed by a quoted command string which
init(8) will execute before starting the command specified by the second
# 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/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), gettytab(5), termcap(5), getty(8),
A ttys file appeared in Version 6 AT&T UNIX.
BSD May 29, 2017 BSD