Löschen der Bootmeldungen deaktivieren
Nach dem Bootvorgang wird der Bildschirm gelöscht und das Login Prompt erscheint, so das man die Ausgaben der Init Scripte und Fehlermeldungen nicht mehr lesen kann. In diesem Artikel werden Möglichkeiten dieses standard Verhalten zu ändern aufgezeigt.
Beachte: Die Kernel Meldungen können nach dem Booten immer mit dmesg angezeigt werden.
Flow Control
Flow Control ist eine Grundfunktion der meisten Terminal Emulatoren und virtuellen Konsolen (vc):
- Strg + S hält die Ausgabe an
- Strg + Q setzt die Ausgabe fort
Permanentere Lösung
Eine permanentere Lösung ist das hinzufügen einer Pause oder warten auf einen Tastendruck während die Meldungen noch sichtbar sind.
- auf Tastendruck warten bevor der Bildschrim gelöscht wird
read -n1
- maximal 5 Sekunden warten oder bis Tastendruck
read -t5 -n1
Um die Pause zu erzeugen nachdem der Bootvorgang beendet wurde fügt man eins der beiden ans Ende der /etc/rc.local ein. Um die Pause zu erzeugen wenn ein Bootscript in /etc/rc.d mit einem explizitem Fehler Code abbricht, an Ende der stat_fail() Funktion in /etc/rc.d/functions. Das letztere ist ein Systemscript und die Änderungen können bei einem Update überschrieben werden. Wer nicht weiss was das bedeutet sollte /etc/rc.local verwenden.
Bootmeldungen nicht von tty1 löschen
Normales Verhalten: Bootmeldungen laufen dürch, Bildschrim wird gelöscht, Inhalt von /etc/issue wird angezeigt, Login (Konsole oder Login Manager) wird angezeigt.
gewünschtes Verhalten: Bootmeldungen laufen dürch, Login (Konsole oder Login Manager) wird angezeigt ohne Anzeige auf tty1 zu löschen
Zuerst sollte man wissen, dass der Bildschrim gelöscht werden kann:
- von getty
- durch Steurzeichen in /etc/issue weil getty diese Datei anzeigt
Um das gewünschte Verhalten zu erzwingen sollte man einen/alle der obigen Faktoren eliminieren.
Löschen durch getty deaktivieren
In /etc/inittab stehen einige Zeilen die etwa wie die folgenden aussehen. Falls man agetty oder mingetty als getty verwendet, fügt man die Option --noclear zur Zeile für die erste virtuelle Konsole (die c1 Zeile) hinzu:
c1:2345:respawn:/sbin/agetty --noclear -8 38400 tty1 linux c2:2345:respawn:/sbin/agetty -8 38400 tty2 linux ... ...
Löschen in /etc/issue deaktivieren
Anzeige von /etc/issue daktivieren
Hinzufügen der Option --noissue in /etc/inittab
c1:2345:respawn:/sbin/agetty --noissue -8 38400 tty1 linux
tty1 eine eigene /etc/issue zuweisen
Kopieren der existierenden /etc/issue nach /etc/issue.tty1 (ohne die erste Zeile):
sed ld /etc/issue > /etc/issue.tty1
Diese Zeile in /etc/inittab suchen:
c1:2345:respawn:/sbin/agetty -8 38400 tty1 linux
Und ersetzen mit:
c1:2345:respawn:/sbin/agetty -8 38400 tty1 linux -f /etc/issue.tty1
/etc/issue direkt editieren
Einfach die erste Zeile löschen, so dass die Datei so aussieht
Arch Linux \r (\n) (\l)
Achtung: Bevor man die Datei ändert, erst weiterlesen wie man sie wiederherstellen kann!
Wiederherstellen der /etc/issue
Die Zeichen können nicht einfach wieder eingegeben werden, da es spezielle Zeichen sind, die nicht auf der Tastatur verfügbar sind! Man kann die erste Zeile markieren, in einer neuen Datei einfügen und speichern oder einfach ein Backup/Kopie der kompletten /etc/issue anlegen. Bei Bedarf kann dann entweder die erste Zeile aus der Sicherungsdatei kopiert und wieder in /etc/issue eingefügt, oder die Kopie der kompletten /etc/issue wieder zurückkopiert werden.
Optional, kann man die Zeichen mit speziellen Methoden auch dirket eingeben. Wie das funktioniert hängt vom verwndeten Editor ab:
ESC (exit insert mode) :r !clear :x (save and exit)
Das fügt die Zeichen, die dem Shell Befehl clear' entsprechen ein. Man kann die Zeichen auch manuell eingeben:
i (insert) ctrl-v (insert literal character) ESC (insert escape character) c ESC (exit insert mode) ZZ (Save and Exit)
C-q ESC (to insert literal escape)