Unter Ubuntu bin ich regelmäßig auf die Nutzung des Terminals angewiesen (Strg+T). Umso ärgerlicher, wenn dieses mal nicht so funktioniert wie ich will. Das war neulich der Fall, als ich für die Entwicklung eines Angular-Webprojektes aus der IDE heraus meinen Node Version Manager (nvm) aktualisiert habe. Irgendetwas musste schief gelaufen sein, denn im Anschluss wollte sich meine Bash-Shell nicht mehr im Terminal zeigen, ich sah nur eine leer Zeile mit meinem Cursor.
So etwas in der Art war mir bisher noch nicht passiert. Wie so üblich, habe ich dann nach Lösungen im Internet gesucht: Eine Möglichkeit besteht darin, die bash-Konfigurationsdatei .bashrc im home-Verzeichnis zurückzusetzen. Ärgerlich natürlich, dass sich sämtliche Bash-Befehlslösungen die man so über Google findet nicht anwenden lassen, wenn das Terminal nicht funktioniert. Also habe ich es mit einer anderen virtuellen Terminal-Session probiert, indem ich Strg + Alt + F3 gedrückt habe.
Virtuelle Terminal Sessions unter Ubuntu
Unter Ubuntu gibt es mehrere virtuelle Terminal Sessions (ttys), unter einer läuft das die grafische Benutzeroberfläche. Wechseln können wir mit Strg, Alt und einer der F-Tasten. Eine kurze Übersicht:
| Strg + Alt + | |
| F1 | Ubuntu Login-Bildschirm |
| F2 | Laufende GUI-Session |
| F3 – F7 | weitere virtuelle Terminals |
Leider auch hier keinen Erfolg, das Terminal blieb leer und ich konnte nichts eingeben. Wie bekomme ich nun mein Terminal zurück, wenn ich nicht mal in die root-Shell komme und Befehle eingeben kann? Mir war schon etwas bange, mein letztes Backup war schon einige Tage her und ich hatte auch keine Zeit, dass System neu aufzusetzen, wie ich das unter Windows gerne mache. Also habe ich es mit dem Wiederherstellungsmodus (Recovery) von Ubuntu probiert, der dem abgesicherten Modus von Windows ähnelt. Den hatte ich bisher noch nie verwendet!
Der Recovery Modus von Ubuntu
Während des Boot-Vorgangs des Computers gibt es die Möglichkeit, mittels drücken der Esc-Taste (es könnte je nach Hersteller auch eine andere Taste sein) verschiedene Startoptionen im Grub-Bootloader anzuzeigen. Dort kann dann der Recovery-Modus von Ubuntu gestartet werden, der einem u.A. Zugriff auf die root-Shell gewährt. Hierbei gibt es allerdings zwei Herausforderungen, die flinke Finger erfordern und mich mehrere Anläufe gebraucht haben (eine etwas nervraubende Angelegenheit):
- Ihr könnt die Startoptionen nur im Abschnitt zwischen dem Laden des UEFI (BIOS) und dem Starten von Ubuntu (das Ubuntu Boot-Logo) aufrufen. Es ist also nur ein sehr kurzer Zeitraum zum Drücken der Taste.
- Drückt (spammt) ihr die Esc-Taste zu oft, landet ihr im textuellen Fallback-Modus des Grub-Bootloaders und der Recovery-Modus ist nicht mehr ohne weiteres auswählbar. Zumindest habe ich keine Option gefunden. Also, mit Strg + Alt + Entf das System neu starten und es erneut versuchen.
Hattet ihr Erfolg, könnt ihr die entsprechende Zeile Ubuntu with <neueste Kernel-Version> (recovery mode) auswählen und die root-Befehlszeile starten. Weitere Infos dazu findet ihr auch im Ubuntuusers-Wiki.
.bashrc Konfiguration zurücksetzen
In der root-Befehlszeile hatte ich Glück, ich konnte wieder Befehle eingeben und dort meine Bash-Konfiguration zurücksetzen. Dazu habe ich zunächst in mein home-Verzeichnis gewechselt.
cd /home/cedric
Drt befindet sich die Konfigurationsdatei .bashrc. Da diese bei mir auch Einstellungen z.B. zu meiner Python conda-Distribution enthält, habe ich zunächst eine Sicherungskopie angelegt.
cp .bashrc .bashrc_backup
Nun kann ich meine defekte Konfigurationsdatei durch die Standardkonfiguration ersetzen, welche sich in einem anderen Verzeichnis befindet.
rm .bashrc
cp /etc/skel/.bashrc .
Fazit
Nach einem Neustart des Rechners hat alles wieder funktioniert, was ein Glück. Nur einige Anpassungen musste ich wieder vornehmen (z.B. die Initialisierung der Conda-Umgebung). Wie aufgeschmissen man unter Linux auf einmal ist, wenn das Terminal bzw. Bash nicht mehr funktioniert, hat mich etwas unerwartet getroffen. Was solls, Lektion gelernt. Fürs nächste Backup habe ich die .bashrc jedenfalls in mein Sicherungsprofil unter Timeshift einbezogen.
PS: Möglichkeiten, wie ihr Verzeichnisse und Dateien in einem automatischen Backup unter Ubuntu sichern könnt, habe ich übrigens hier beschrieben.






