Kein Zugriff mehr auf virtuelle Terminals (tty1-6) in Ubuntu Gutsy Gibbon: Lösung

Seit geraumer Zeit war es bei meinem Notebook so, dass ich durch drücken von Strg+Alt+F1 bis F6 nicht etwa auf benutzbare Linux-Kommandozeilenboxen kam, sondern auf schwarze Bildschirme mit blinkendem Cursor oben links. Sehr hilfreich. Heute entschloss ich dann endlich mal, dem ein Ende zu bereiten und bin auch fündig geworden. Ich übersetze jetzt praktisch mal, was ich so auf Englisch gelesen habe.

Warnung! Diese Schritte nicht ausführen, wenn man nicht das Risiko eingehen kann, sein System mal eben zu vermurkeln!

Schritt 1 – /etc/modprobe.d/blacklist-framebuffer bearbeiten

Genannte Datei mit root-Rechten bearbeiten im Texteditor der Wahl:

# Framebuffer drivers are generally buggy and poorly-supported, and cause
# suspend failures, kernel panics and general mayhem. For this reason we
# never load them automatically.
blacklist aty128fb
blacklist atyfb
blacklist radeonfb
blacklist cirrusfb
blacklist cyber2000fb
blacklist cyblafb
blacklist gx1fb
blacklist hgafb
blacklist i810fb
...

Hier muss man das Framebuffer Modul finden, das zum benutzten Grafikkartentreiber passt. Normalerweise sollte man vesafb versuchen, weil VESA mit fast allem funktioniert und man im Terminal üblicherweise keine 3D-Beschleunigung braucht. Wenn das nicht geht versucht man ein Modul, in dessen Namen der für den X-Server verwendete Grafiktreiber vorkommt. Z. B. radeon Treiber → radeonfb. Zur Not muss man etwas experimentieren, um das richtige Modul zu finden.

In der Datei muss man die Zeile auskommentieren (ein # an den Zeilenanfang setzen), die das entsprechende Modul blacklistet. Eventuell muss man zusätzlich blacklist vga16fb auskommentieren, oder auch nicht. Zuerst mit vesafb probieren, wenn es dann nicht geht, vga16fb dazunehmen. Warnung: vga16fb könnte dazu führen, dass Fenster nach der Verwendung eines tty in Compiz weiß erscheinen.

Wenn der proprietäre Nvidia-Treiber (nvidia) benutzt wird, dann vesafb auskommentieren. Das Modul mit dem Namen nvidiafb gehört zum Open-Source Treiber nv und ist nicht kompatibel zum proprietären Treiber!

Schritt 2 – /etc/initramfs-tools/modules bearbeiten

Normalerweise ist in der Datei alles auskommentiert. Am Ende der Datei sollten folgende Zeilen hinzugefügt werden:
fbcon und in der nächsten Zeile der Name des in Schritt 1 auskommentierten Moduls. Zum Beispiel:

fbcon
vesafb

vesa16fb kommt darunter, wenn man es auch aktivieren musste in Schritt 1.

Schritt 3 – init-Skripte aktualisieren

Einfach ausführen: $ sudo update-initramfs -u -k all

Schritt 4 – Grubs menu.lst bearbeiten

Die Datei /boot/grub/menu.lst oder wo auch immer Grub bei euch installiert sein mag (in der Quelle war es nämlich /etc/grub/menu.lst) bearbeiten und dort nach der ersten Zeile, die mit „kernel“ beginnt suchen. Das ist die erste Zeile für einen Menüeintrag, in der der entsprechende Kernelaufruf spezifiziert wird.
Könnte zum Beispiel so aussehen:

kernel /boot/vmlinuz-2.6.22-14-generic root=UUID=763f09b5-cf76-42a1-8dd2-123a2739b3ab ro quiet splash

An diese Zeile muss jetzt herangehängt werden: vga=###, wobei ### eine Zahl aus folgender Tabelle ist:

Colors | 640x480 800x600 1024x768 1280x1024
----+-------------------------------------
256 | 257 259 261 263
32k | 272 275 278 281
64k | 273 276 279 282
16M | 274 277 280 283

VESA:
Colors (depth) 640x480 800x600 1024x768 1280x1024 1600x1200
---------------+-------+-------+--------+---------+---------
8 bit | 769 771 773 775 796
15 bit | 784 787 790 793 797
16 bit | 785 788 791 794 798
24 bit | 786 789 792 795 799

Quelle: http://www.linuxquestions.org/questions/debian-26/lilo-vga-modes-152575/?s=9ec28a47ecc57630465be949ffe394cf#post839067

Bei mir war 282 die Lösung, zuvor stand da 793 oder 794 oder sowas in dem Dreh.

Das wärs dann eigentlich. Bei mir läufts wieder. Viel Glück bei eventuellen eigenen Versuchen.

Quelle: http://ubuntuforums.org/showthread.php?t=585454

EDIT: Mittlerweile musste ich den VGA-Parameter wieder rausnehmen, weil er mich bei jedem Start eine Konsolenauflösung auszuwählen ließ, die er hinterher sowieso wieder überschrieb. Die Terminals funktionieren aber noch, wer weiß, was nun war…