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