getty flavours from the past
getty is largely a thing of the past.
It has been obsolete in AT&T Unix and its descendents since 1988, having long since been superseded by
ttymon and its ilk.
Even on platforms that are decades behind AT&T Unix, it has in some cases been superseded by a few simpler chain-loading tools in some system management toolsets.
Here are some of its historical flavours.
There was a program named
getty in 1st Edition Unix.
The BSDs still usually have a program named
getty that is a (fairly) direct descendant of the old Unix program.
It (nowadays) reads
/etc/ttys for the database of configured terminal devices and
/etc/gettytab for the database of terminal line types (a line type being passed as an argument to the getty program).
The Linux world, also decades behind AT&T Unix, has a collection of clones and reimplementations of
getty, as did minix before it.
Depite not even coming into existence until well after
getty was obsolete, the Linux and minix worlds did not clone or reimplement the more modern mechanisms of contemporary Unix.
agetty was written by Wietse Venema, as an "alternative" to AT&T System 5 and SunOS
getty, and ported to Linux by Peter Orbaek (who also provided
simpleinit alongside it).
It was suitable for use with serial devices, with either modems or directly connected terminals, as well as with virtual terminal devices.
Paul Sutcliffe, Jr's
uugetty is hard to find, but was an alternative to
The getty-ps package containing them both can still be found in SlackWare.
Fred van Kempen wrote an "improved"
init for minix in 1990.
mgetty was another
getty that was suitable for use with actual serial devices, and was designed to support "smart" modems such as fax-modems and voice-modems, not just "dumb" terminal-only modems.
Florian La Roche's
mingetty was designed not to support serial devices, and generic
getty functionality on any kind of terminal device.
Rather, it was specific to virtual terminal devices and cuts out all of the traditional
getty hooplah that is associated with modems and serial devices.
Felix von Leitner's
fgetty was derived from
mingetty, adjusted to use a C library with a smaller footprint than the GNU C library, and tweaked to include things like the
ngetty was a rearchitecture of the whole
init (directly or indirectly) knowing about the TTYs database and spawning multiple instances of
getty, each to respond on one terminal,
init spawns one
ngetty process that monitors all of the terminals.
ngetty was the closest in concept to the 1988
ttymon was a part of an overall larger framework, the Service Access Facility, and formed part of a regular pattern with other tools, which
ngetty does not.
mingetty likewise demonstrates that when it comes to virtual terminals, almost all of the functionality of
getty (a large part of which in traditional form deals with serial port mechanics, modems, terminal classes, and connection mechanisms other than interactive shells) is extraneous.
Virtual terminal login via the nosh Toolset replaces it entirely, with five small chain-loading tools.