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

# NAME

`ttys` — terminal initialization information

# DESCRIPTION

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 terminfo(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 -HUP 1`

On receipt of this signal, init(8) will re-read the `ttys` file and spawn any necessary getty(8) processes.

NB: 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.

# 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
    tty00	"/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), tty(4), gettytab(5), terminfo(5), getty(8), init(8), ttyflags(8)

# HISTORY

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

July 6, 2024 | NetBSD 11.0