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
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))
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).
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.
TIOCFLAG_SOFTCAR
tty(4)
flag).
TIOCFLAG_CRTSCTS
tty(4)
flag for the device to enable
RTS /
CTS
"hardware
flow control by default.
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 -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.
/etc/ttys
# 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
AT&T UNIX
.