Jetzt funktionieren die SysRq-Keys!

Ich habe auf allen meinen Computern Ubuntu (z. Zt. die Version 10.10 “Maverick Meerkat”) installiert. Mittlerweile habe habe ich auch auf meinem zweiten Laptop ab und zu Probleme gehabt. Vor allem beim Testen und Einrichten des Ruhezustands (hibernate) hängt sich der Rechner ab und zu auf (suspend klappt. hibernate noch nicht).

Für die Fälle, dass ein Computer unter Linux nicht mehr reagiert, sind in den Unix-Kernel tolle Notfall-Tastenkombinationen eingebaut: SysRq-Taste + jeweilige Taste für einen Befehl, der sogenannte “Magic SysRQ“. Die SysRq-Taste ist auf deutschen Tastaturen mit “S-Abf” beschriftet und ist wohl meist die Alternativbelegung der “Druck”-Taste. Eine bekannte Reihenfolge ist Raising Elephants Is So Utterly Boring, wobei die SysRq-Taste festgehalten wird (zumindest angeblich, siehe unten!) und der Reihe nach die oben fett geschriebenen Buchstaben (R, E, I, S, U, B) gedrückt werden. Folgendes passiert dann:

  • R klaut dem laufenden Programm (der graphischen Benutzeroberfläche) den Zugriff auf die Tastatur;
  • E sagt allen laufenden Prozessen (außer init), sie sollen sich beenden (SIGTERM);
  • I beendet alle laufenden Prozesse (außer init) (SIGKILL);
  • S schreibt die Daten im Kernel-Zwischenspeicher auf die Festplatte;
  • U hängt alle Partitionen aus und mounted sie wieder ohne Schreibzugriff;
  • B fährt den Computer sofort herunter und startet ihn neu.

Durch die Abfolge der verschiedenen Befehle wird möglichst verhindert, dass Daten verloren gehen. Zwischen den einzelnen Schritten sollte allerdings manchmal ein bisschen gewartet werden, damit der vorherige Schritt jeweils beendet ist.

Es gibt noch eine ganze Reihe weiterer Befehle. Eine Liste der Magic-SysRQ-Befehle bietet z.B. Wikipedia.

Soweit zur Theorie. Leider klappt das nicht immer so, wie es überall (und jetzt auch hier) beschrieben wird. Sowohl auf meinem Dell Inspiron, als auch auf meinem Lenovo Thinkpad tut sich erstmal gar nichts, wenn ich das alles probiere. Jetzt habe ich zufälligerweise in der SysRq-Dokumentation im Quellcodeverzeichnis von Linux die Lösung gefunden: Meine Tastatur kann nicht so viele Tasten auf einmal verarbeiten.

Heute haben wir deshalb folgendes gelernt:

SysRq-Tasten funktionieren mit manchen Tastaturen, indem die Alt-Taste festgehalten wird und danach zuerst die SysRq-Taste und darauf die jeweilige Befehlstaste nacheinander gedrückt wird.

Bei mir sieht das also ungefähr so aus: Alt-Taste drücken und halten. Fn+Druck-Tasten drücken und wieder auslassen, Alt-Taste aber weiterhin halten. Buchstabe (z.B. R) drücken. Dann wieder bei weiterhin gehaltener Alt-Taste wieder Fn-Druck-Tasten drücken und danach die nächste Befehlstaste (z.B. E) drücken, usw.

Es funktioniert jetzt also. Juhuu. Etwas stutzig macht mich allerdings, dass es eigentlich gar nicht funktionieren sollte. Im Wiki von ubuntuusers.de steht, dass die Magic-SysRq-Funktion ab Ubuntu 10.10 standardmäßig deaktiviert ist. Ich habe das überprüft und bestätigt:

user@computer:~$  cat /proc/sys/kernel/sysrq
0

Wir haben also nicht nur etwas gelernt, sondern auch eine Frage aufgeworfen:

Warum funktionieren die Magic-SysRq-Tastenkombinationen, obwohl sie deaktiviert sind?

Dem werde ich mal nachgehen. Für Hinweise bin ich dankbar. Bis dahin verabschiede ich mich mit freudigen Grüßen.

Leave a Reply

Your email address will not be published. Required fields are marked *