What is the difference between getty and agetty?
There was a program named
getty in 1st Edition Unix. The BSDs usually have a program named
getty that is a (fairly) direct descendant of this. 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
The Linux world has a collection of clones and reimplementations, as did minix before it.
agettywas 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
simpleinitalongside it). It is suitable for use with serial devices, with either modems or directly connected terminals, as well as with virtual terminal devices.
- Paul Sutcliffe, Jr's
uugettyis hard to find nowadays, but was an alternative to
getty-pspackage containing them both can still be found in SlackWare.)
- Fred van Kempen wrote an "improved"
initfor minix in 1990.
- Gert Doering's
mgettyis another getty that is 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
mingettywas designed not to support serial devices, and generic getty functionality on any kind of terminal device. Rather, it is 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
fgettywas 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
- Nikola Vladov's
ngettywas a rearchitecture of the whole getty mechanism. Instead of
init(directly or indirectly) knowing about the TTYs database and spawning multiple instances of getty, each to respond on one terminal, init spawns one
ngettyprocess that monitors all of the terminals.