Es gibt mehrere Tastenkombinationen, die ein eingefrorenes System wieder zum Leben erwecken. Jede davon erfordert beim Anwender ziemlich lange, gelenkige Finger – möglicherweise der Grund, warum viele Linux-Anwendern sie immer noch nicht kennen.
Wenn etwas schief geht, dann meist richtig: So stürzt die Textverarbeitung üblicherweise kurz vor der Fertigstellung der zehnseitigen Abhandlung über das Liebesleben der gemeinen Haustaube ab. Und da es der Office-Suite im Nirvana zu einsam ist, reißt sie auch gleich noch das komplette X-Window-System mit in den Tod. In solchen Fällen schnellt der Finger bei den meisten Anwendern zum Reset-Knopf am Computergehäuse.
Diese rabiate Wiederbelebungsmaßnahme birgt jedoch gewisse Risiken: Linux selbst lebt meist noch im Hintergrund weiter – oft zusammen mit ein paar weiteren Programmen, die immer noch munter auf die Festplatte zugreifen. Im schlimmsten Fall zerstört der Druck auf den Reset-Taster deshalb nicht nur das Liebesleben der Taube, sondern auch gleich noch ein paar weitere Dateien.
A kind of magic
Glücklicherweise gibt es Hilfe in Form mehrerer “magischer” Tastenkombinationen. Die erfordern zwar ein paar verrenkte Finger, können dafür aber das System ohne Ein- und Ausschalten wiederbeleben oder zumindest den Computer kontrolliert und ohne Datenverlust herunterfahren.
Alle diese Tastenkombination beginnen damit, dass Sie [Alt]+[Druck] gedrückt halten und damit [S-Abf] (“System-Abfrage”) auslösen – so ist die Taste auf deutschen Tastaturen auch auf der Vorderseite beschriftet. Auf englischen Tastaturen steht an dieser Stelle dagegen SysRq als Abkürzung für System Request (Systemabfrage). Daher nennt man eine darüber ausgelöste Funktion auch Magic System Request oder kurz und unaussprechlich Magic SysRq.
Auf vielen Notebook-Tastaturen müssen Sie zusätzlich noch [Fn] gedrückt halten. Zusammen mit einer folgenden Buchstaben-Taste für den Abruf einer bestimmten Funktion gilt es somit vier weit auseinanderliegende Tasten auf einmal zu betätigen – nicht umsonst spricht man auch von einem “Affengriff”.
Einige Systeme ersetzen zudem die Taste [Alt] durch [AltGr]. Sofern also eine magische Tastenkombination keine Wirkung zeigt, sollten Sie sie noch einmal mit [AltGr] ausprobieren. Schließlich gibt es noch Tastaturen, die nicht so viele gleichzeitig gedrückte Tasten auf einmal auswerten können: In diesem Fall drücken Sie [Alt]+[Druck], lassen dann nur [Druck] los, betätigen die Taste für die gewünschte Funktion, und lassen dann alle Tasten wieder los.
Der Einfachheit halber bezeichnen wir im folgenden die für den Magic System Request zu betätigende Eingangstastenkombination als [S-Abf] – egal, wie diese auf dem konkreten System nun auszulösen ist.
Wo klemmt’s?
Wenn [Druck] überhaupt nicht existiert oder [S-Abf] gar nicht funktionieren möchte, aber noch eine Kommandozeile zur Verfügung steht (siehe Kasten “Hintertür”), dann kann man einen Tastendruck als Benutzer root auch mit folgendem Befehl simulieren:
echo k > /proc/sysrq-trigger
Das k steht dabei für die dritte zu drückende Taste, in diesem Beispiel das “k” für die vermutlich wichtigste und am häufigsten benötigte Tastenkombination. [S-Abf]+[K] beendet (“kill”) alle Prozesse in der aktuellen virtuellen Konsole. Unter modernen Distributionen zählt dazu üblicherweise auch die grafische Benutzeroberfläche, die daraufhin automatisch neu startet oder zumindest dem Textmodus weicht.
[S-Abf]+[K] erweist sich aber auch dann als nützlich, wenn Sie auf der Konsole arbeiten: Durch das Beenden aller Prozesse stellt sie sicher, dass der Anmeldebildschirm nicht von irgendeinem Trojaner stammt – vorausgesetzt, bei init handelt es sich noch um das unversehrte Original.
Hintertür
Hängt der eingefrorene Rechner in einem Netzwerk, melden Sie sich auf ihm mittels SSH an und beenden dort dann via Kommandozeile die verursachenden Programme mit dem SysRq-Kill-Kommando. Das funktioniert allerdings nur, wenn die abgestürzten Programme nicht die komplette Rechenzeit auffressen. Darüber hinaus muss der SSH-Daemon installiert sein, laufen und sich von außen erreichen lassen. Letzteres verhindert beispielsweise unter OpenSuse die eingebaute Firewall. Aus den gleichen Gründen versagen auch die übrigen Alternativen zu SSH, wie etwa rlogin, das obendrein noch Sicherheitsprobleme besitzt.
Einparkende Elefanten
Wenn sich das System nicht mehr rührt, sollten Sie als Erstes [S-Abf]+[R] drücken. Damit entzieht der Kernel dem X-Server die Gewalt über die Tastatur, genauer gesagt: Er schaltet den vom X-Server genutzten Raw-Modus ab und wechselt in den auf der Konsole genutzten XLATE-Modus. Auf diese Weise erhalten Sie wieder die Gewalt über die Tastatur und können beispielsweise mit [Strg]+[Alt] und einer der Funktionstasten auf eine der Konsolen wechseln. Dort melden Sie sich an und terminieren per kill-Befehl die hängende Anwendung.
Funktioniert das nicht, drücken Sie [S-Abf]+[E]. Der Kernel fordert jetzt alle laufenden Programme auf, sich zu beenden. Dazu sendet er allen Prozessen mit Ausnahme von init ein SIGTERM-Signal. Zeigen sich die Prozesse davon unbeeindruckt, weisen Sie den Kernel mit [S-Abf]+[I] an, den Amokläufern das SIGKILL-Signal zu senden und sie somit gnadenlos abzuschießen.
Linux puffert die Festplattenzugriffe zunächst im Hauptspeicher. Bevor Sie das System neustarten, sollten Sie die zwischengeparkten Daten per [S-Abf]+[S] auf die Festplatte schreiben lassen. Als Quittung für den Abschluss der Aktion erscheint eine Meldung wie Done oder Emergency Sync complete auf dem Bildschirm. Blockiert ein abgestürztes Programm den Monitor und bleibt damit die Meldung versteckt, überwachen Sie stattdessen die Festplattenaktivitäten anhand der Status-LED am Rechnergehäuse. Fahren Sie erst dann mit den nächsten Tastenkombinationen fort, wenn ein paar Sekunden keine Aktivitäten mehr zu sehen und zu hören waren.
Nachdem die Daten auf der Platte liegen, hängt [S-Abf]+[U] alle Dateisysteme sicher aus. [S-Abf]+[B] startet das System schließlich neu. Alternativ schalten Sie den Rechner per [S-Abf]+[O] aus. Linux nutzt dazu die entsprechende Funktion des Power-Managements, das dazu folglich aktiviert sein muss.
Zusammengefasst kommen hier also nacheinander die Tasten [R],[E],[I],[S],[U] und [B] zum Einsatz. Diese Reihenfolge kann man sich mit verschiedenen Eselsbrücken merken. Besonders beliebt ist der englische Satz “Raising Elephants Is So Utterly Boring” oder “BUSIER” rückwärts. Eine im Internet kursierende deutsche Variante lautet “Richtig Einparken Ist So Unglaublich Banal”.
Alle wichtigen Tastenkombinationen fasst noch einmal die Tabelle “Wichtige SysRq-Funktionen” zusammen. Neben den dort aufgelisteten gibt es noch weitere Kombinationen, die sich allerdings durchweg an Programmierer richten. So zeigt beispielsweise [S-Abf]+[P] den Inhalt aller Prozessorregister an, während [S-Abf]+[M] die Hauptspeicherbelegung ausgibt. Eine Liste mit allen SysRq-Tastenkombinationen finden Sie in der Dokumentation des Linux-Kernels [1].
Wichtige SysRq-Funktionen
| Taste | Auswirkung |
|---|---|
| [B] | startet den Rechner sofort neu |
| [E] | sendet SIGTERM an alle Prozesse außer init |
| [I] | sendet SIGKILL an alle Prozesse außer init |
| [K] | beendet alle Programme auf der aktuellen virtuellen Konsole |
| [O] | fährt das System herunter (sofern vom Computer unterstützt) |
| [R] | reanimiert die Tastatur, indem es den RAW-Modus abschaltet und in den XLATE-Modus wechselt |
| [S] | leert den Festplattencache |
| [U] | hängt alle Dateisysteme aus und mountet sie anschließend read-only |
Aus der Zauber
Die vorgestellten “Affengriffe” wertet allesamt der Linux-Kernel aus. Damit das klappt, muss er selbst noch laufen – bei einer Kernel-Panik hilft folglich nur noch ein Griff zum Reset-Knopf. Des Weiteren muss der Kernel die Tastenkombinationen unterstützen. Das ist genau dann der Fall, wenn im Verzeichnis /proc/sys/kernel eine Datei namens sysrq existiert (Abbildung 1). Andernfalls hat der Distributor beim Erstellen des Kernels die Magic-SysRq-Funktion deaktiviert – ein glücklicherweise seltener Fall. Erstellen Sie einen Kernel selbst, müssen Sie dabei die Option CONFIG_MAGIC_SYSRQ einschalten.

sysrq existiert und sie eine Zahl größer gleich 1 enthält.” width=”300″ height=”159″ />
Abbildung 1: Die Tastenkombinationen funktionieren, wenn wie hier unter Ubuntu die Dateisysrq existiert und sie eine Zahl größer gleich 1 enthält. Das Vorhandensein der Datei sysrq garantiert jedoch keineswegs dafür, dass die Tastenkombinationen auch tatsächlich aktiviert sind. Ob das bei dem verwendeten System der Fall ist, prüfen Sie in einem Terminalfenster mit dem Befehl:
cat /proc/sys/kernel/sysrq
Steht eine 1 in der Datei, reagiert der Linux-Kernel auf alle vorgestellten Tastenkombinationen. Erscheint eine höhere Zahl, dann hat der Distributor einige der Tastenkombinationen deaktiviert. Bei einer 128 dürfen Sie beispielsweise nur den Rechner neustarten und herunterfahren, alle anderen magischen Tastenkombinationen liegen brach. Sämtliche Tastenkombinationen schalten Sie als Benutzer root mit folgendem Befehl ein (Abbildung 2):
# echo 1 > /proc/sys/kernel/sysrq

root.” width=”300″ height=”136″ />
Abbildung 2: Wie die Null anzeigt, unterstützt OpenSuse die SysRq-Tastenkombinationen zwar, deaktiviert sie jedoch von Haus aus. Abhilfe schafft ein kurzer Befehl als Benutzerroot. Wenn Sie einen mit echo beginnenden Befehl nur mit sudo aufrufen können (wie etwa unter Ubuntu), müssen Sie das ganze Gebilde in Anführungszeichen einschließen und ein sudo su -c voranstellen, also beispielsweise:
$ sudo su -c "echo 1 > /proc/sys/kernel/sysrq"
Damit die neue Einstellung auch einen Neustart überlebt, ergänzen Sie als Benutzer root in der Datei /etc/sysctl.conf eine Zeile des Inhalts kernel.sysrq = 1.
Fazit
Auch die Magic System Requests können keine Texte aus einer abgestürzten Textverarbeitung wiederherstellen. Im Gegensatz zum Reset-Knopf verhindern sie jedoch im Ernstfall noch größere Datenverluste. Sofern der Computer nicht an einem öffentlich zugänglichen Platz steht, sollten Sie die Tastenkombinationen einschalten und sich dann die Eselsbrücke mit den langweiligen Elefanten merken: Im Fall der beleben Sie das System dann schnell und vor allem sicher wieder.
Infos
[1] Kernel-Dokumentation zu den Magic System Request Keys: http://www.kernel.org/doc/Documentation/sysrq.txt





