TTYS(5) | File Formats Manual | TTYS(5)

# NAME

`ttys` — terminal initialization information

# DESCRIPTION

The `ttys` file 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 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.

Each line in `ttys` is of 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 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) utility. It can be, however, 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) database 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. The following is a list of permitted flags for each tty:

on
  Specify that init(8) should execute the command given in the second field.
off
  The opposite of on.
secure
  If on is also specified, allows users with a user ID 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 password.

Additionally, the following flags modify the default behavior of the terminal 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 field.

Changes to the `ttys` file take effect after it has been reloaded by init(8), which can be triggered by sending it a `HUP` signal. Reloading the `ttys` file does not change the state of the device-specific terminal flags described above. The ttyflags(8) utility can be used to set those flags.

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

# SEE ALSO

login(1), getttyent(3), ttyslot(3), gettytab(5), termcap(5), getty(8), init(8), ttyflags(8)

# HISTORY

A `ttys` file appeared in Version 5 AT&T UNIX.

July 29, 2022 | Debian