25.8 getty
Doch nun zurück in die Linux-Welt. Sieht man sich die Datei /etc/inittab weiter an, findet man auch Zeilen vor, die zur Initialisierung der einzelnen Konsolen tty1 bis ttyN (in der Regel N=6) dienen.
Zwischen diesen Textkonsolen wechselt man in der Regel mit der Tastenkombination Alt + FX, wobei X für die Nummer der Konsole steht: Alt + F2 würde folglich auf die Konsole 2, also tty2, wechseln.
# These are the standard console login getties in # multiuser mode: c1:1235:respawn:/sbin/agetty 38400 tty1 linux c2:1235:respawn:/sbin/agetty 38400 tty2 linux c3:1235:respawn:/sbin/agetty 38400 tty3 linux c4:1235:respawn:/sbin/agetty 38400 tty4 linux c5:1235:respawn:/sbin/agetty 38400 tty5 linux c6:12345:respawn:/sbin/agetty 38400 tty6 linux
Listing 25.25 getty
Zudem findet man in der gleichen Datei etwas später Konfigurationen für serielle Verbindungen:
# Local serial lines: #s1:12345:respawn:/sbin/agetty -L ttyS0 9600 vt100 #s2:12345:respawn:/sbin/agetty -L ttyS1 9600 vt100 # Dialup lines: #d1:12345:respawn:/sbin/agetty -mt60 38400,19200,\ 9600,2400,1200 ttyS0 vt100 #d2:12345:respawn:/sbin/agetty -mt60 38400,19200,\ 9600,2400,1200 ttyS1 vt100
Listing 25.26 Serielle Konsolen
getty, agetty, mingetty
Für das Management serieller Verbindungen und anderer Terminalschnittstellen wie der Hauptkonsole des Rechners wird das Programm getty verwendet. Je nach Distribution kommt hierfür auch agetty (Slackware) oder mingetty zum Einsatz. agetty besitzt im Vergleich zu getty einige Zusatzfeatures. Diese Zusatzfeatures sind zwar nicht standardkonform, aber trotzdem nützlich. <So kann agetty unter anderem das Nachfragen nach einem Login-Namen unterdrücken oder ein anderes Programm außer login starten.>
Die oben zu sehenden Zahlen hinter dem agetty-Aufruf geben dabei die Baud-Rate der Verbindung dieser Schnittstelle an. Nachfolgend sind die Schnittstelle (ttyS0 ist die erste serielle Schnittstelle) und der Schnittstellen-Typ (linux-Konsole) aufgelistet.
Da über die serielle Leitung sowohl ein Modem als auch ein Terminal direkt angeschlossen werden kann, wird der Parameter -L dazu verwendet, die lokale Nutzung (also kein Dial-Up via Modem) zu erzwingen. -m wird für Hayes-kompatible Modems verwendet, um die Baud-Rate der Verbindung selbst zu ermitteln, und -t setzt ein Timeout der Verbindung, falls keine Daten übertragen werden. Dabei wird die Zeit, die als nachstehender Parameter benötigt wird, in Sekunden angegeben.
Den Terminal-Typ, den getty oder ein ähnliches Programm für eine Schnittstelle konfiguriert hat, können Sie über die Shell-Variable TERM abfragen. Auf der Linux-Konsole wird dort beispielsweise linux ausgegeben, unter OpenBSDx86 hingegen können Sie bei jedem Login den Terminal-Typ wählen, wobei vt220 in den meisten Fällen die richtige Wahl sein sollte. Unter X-Terminals ist der Wert je nach Terminal-Software und -hardware auf xterm oder xterm-color gesetzt.
Login
Wurde getty gestartet, erscheint ein Prompt mit der Aufforderung, einen Benutzernamen einzugeben. Wohl jeder Linux- oder Unix-Nutzer hat diesen Prompt schon einmal gesehen.
Welcome to Linux 2.6.11 (tty1) bjyoe login:
Listing 25.27 Typischer Login-Prompt
Dieser Anmeldeaufforderung sind auch die Terminal-Schnittstelle, die Linux-Kernel-Version und der Hostname (»bjyoe«) zu entnehmen.
Auf den meisten Systemen wird jedoch ein grafischer Login-Manager wie der kdm oder der gdm gestartet, sodass man nur noch über die Tastenkombination Strg <Diese Taste brauchen Sie, um aus der grafischen Oberfläche heraus die Konsole zu wechseln. Meistens sind Kombinationen nur mit Alt, wie auf der Textkonsole beim Wechseln üblich, schon mit diversen Aktionen vorbelegt.>+ Alt + Konsolennummer auf die Textkonsolen wechselt und damit mit getty in Berührung kommt. Zurück auf die grafische Oberfläche kommt man anschließend mit Alt + 7 – getty nutzt ja nur die ersten 6 Konsolen. <Die grafischen Login-Manager sind wiederum nur »Dienste«, die in bestimmten Runleveln gestartet werden. Das Init-System von Linux und BSD ist also konsistent. ;-)>