The
getty program is called by
init(8) to open and initialize the tty line, read a login name, and invoke
login(1). The devices on which to run
getty are normally determined by
ttys(5).
The
getty program can also recognize a Point to Point Protocol (PPP) negotiation, and, if the
pp attribute in
gettytab(5) is set, invoke the program given by that string, e.g.,
pppd(8), instead of
login(1). This makes it possible to use a single serial port for either a “shell” account with command line interface, or a PPP network link.
The argument
tty is the special device file in
/dev to open for the terminal (for example, “ttyh0”). If there is no argument or the argument is ‘
-', the tty line is assumed to be open as file descriptor 0.
The
type argument can be used to make
getty treat the terminal line specially. This argument is used as an index into the
gettytab(5) database, to determine the characteristics of the line. If there is no argument, or there is no such table, the
default table is used. If there is no
/etc/gettytab a set of system defaults is used. If indicated by the table located,
getty will clear the terminal screen, print a banner heading, and prompt for a login name. Usually either the banner or the login prompt will include the system hostname.
getty uses the
ttyaction(3) facility with an action of “getty” and user “root” to execute site-specific commands when it starts.
Most of the default actions of
getty can be circumvented, or modified, by a suitable
gettytab(5) table.
The
getty program can be set to timeout after some interval, which will cause dial up lines to hang up if the login name is not entered reasonably quickly.
The
uugetty program is the same, except that it uses
pidlock(3) to respect the locks in
/var/spool/lock of processes that dial out on that tty.