FreeBSD man pages : ttys (5)
TTYS(5) FreeBSD 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 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 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 asso-
ciated command is not related to a tty.
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) data base 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)),
specify a window system process that init(8) will maintain for the termi-
nal line, optionally determine the type of tty (whether dialin, network
or otherwise), or specify a tty group name that allows the login class
database (see login.conf(5)) to refer to many ttys as a group, to selec-
tively allow or deny access or enable or disable accounting facilities
for ttys as a group.
As flag values, the strings ``on'' and ``off'' specify that init(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 flag ``dialin'' indicates that a tty entry
describes a dialin line, and ``network'' indicates that a tty entry pro-
vides a network connection. Either of these strings may also be speci-
fied in the terminal type field. 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 ``group='' may be followed by a group name comprised of
alphanumeric characters that can be used by login.conf(5) to refer to
many tty lines as a group to enable or disable access and accounting
facilities. If no group is specified, then the tty becomes a member of
the group "none". For backwards compatibility, the ``group='' should
appear last on the line, immediately before the optional comment.
Both the second field and any command specified with ``window='' will be
split into words and executed using execve(2). Words are separated by
any combinations of tabs and spaces. Arguments containing whitespace
should be enclosed in single quotes ('). Note that no shell-style glob-
bing or other variable substitution occurs.
# 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 group=dialup # 555-1234
# Mike's terminal: hp2621
ttyh0 "/usr/libexec/getty std.9600" hp2621-nl on group=dialup # 457 Evans
# John's terminal: vt100
ttyh1 "/usr/libexec/getty std.9600" vt100 on group=dialup # 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 group=pty
ttyp1 none network off group=pty
login(1), getttyent(3), ttyslot(3), gettytab(5), login.conf(5),
termcap(5), getty(8), init(8)
A ttys file appeared in Version 6 AT&T UNIX.
FreeBSD 4.8 November 17, 1996 FreeBSD 4.8