Was tun, wenn Linux einfriert?

24

Ich verwende Gnome mit compiz in Ubuntu 10.04. Manchmal friert die GUI ein. Ich kann die Maus bewegen, aber nicht mit Programmen interagieren. Ich kann nur mit Alt + Strg + F (n) in ein Terminalfenster wechseln. Von dort aus logge ich mich ein und starte sudo neu. Was kann ich am Terminal noch tun, anstatt einen Neustart durchzuführen, um dieses Problem zu beheben, wenn es auftritt?

tony_sid
quelle

Antworten:

14

Eine Lösung, die ich von Zeit zu Zeit verwende, wenn die Dinge verrückt werden, besteht darin, mit Strg-AltFx (F1-F6) zu einer anderen Konsole zu wechseln. Strg-Alt-F7 sollte Sie zum Grafikbildschirm zurückführen. Dies sollte Sie zu einer Eingabeaufforderung für die Textanmeldung führen.

Wenn dies nicht funktioniert und Sie OpenSSH installiert haben (sudo apt-get install openssh), können Sie per Fernzugriff auf Ihre Box ssh und die gleiche Eingabeaufforderung erhalten.

Sie können sich dann als Sie selbst anmelden, su als root und sehen, welche Anwendung gerade läuft. Dies erfordert ein wenig Erfahrung mit einigen Befehlen wie ps, kill, grep und weniger.

ps - ef | Mehr

Mit dem obigen Befehl werden alle derzeit ausgeführten Prozesse angezeigt, und Sie werden aufgefordert, "Mehr ..." zu bestätigen, um die Ausgabe zu lesen.

kill -9 ####

Der obige Befehl beendet den Prozess mit der Nummer ####.

ps -ef | grep ora | Mehr

Der obige Befehl zeigt Ihnen alle Prozesse mit den Buchstaben "ora", z. B. Oracle-Programme. Lassen Sie sich auch die Eingabeaufforderungen "Mehr ..." anzeigen.

Sie müssen dabei vorsichtig sein. Sie können das gesamte System töten. Ich sehe mir dazu die Prozesse am Ende der Liste an, in denen die neuesten Prozesse gestartet werden. Dies sind wahrscheinlich diejenigen, die das System eingefroren haben, und das Beenden dieser kann die X-Umgebung mit größerer Wahrscheinlichkeit wieder einfrieren, ohne das gesamte System neu zu starten. In der Prozessliste sehen Sie zwei Zahlen. Das erste (ganz links) ist die Prozessnummer selbst und das daneben ist der Prozess, der sie gestartet hat.

In den Befehlen der Prozesse können Sie möglicherweise den Namen der zuletzt gestarteten Programme erkennen und diese zuerst beenden.

Bestenfalls können Sie das fehlerhafte Programm finden und töten. Im schlimmsten Fall wird das System eingefroren, bis Sie es aus- und wieder einschalten. Gehen Sie vorsichtig vor ............................

Sie haben jedoch die Möglichkeit, wichtige Dateien zu kopieren, andere Vorgänge auszuführen usw.

jfmessier
quelle
8

Wie private_meta sagte, möchten Sie wahrscheinlich X neu starten. Dadurch werden alle GUI-Prozesse gestoppt, einschließlich aller Prozesse, die über ein GUI-Terminalfenster gestartet wurden.

Die Tastenkombination Strg + Alt + Rücktaste funktioniert unter Ubuntu nicht. Sie haben diese Verknüpfung deaktiviert. Sie können es aktivieren (nicht genau wissen, wie, aber es sollte leicht zu googeln sein) oder einfach die richtige Kombination verwenden, nämlich SysRq + K. SysRq kann bei einigen Layouts eine sekundäre Funktion einer anderen Taste sein, zum Beispiel bei Mit einer QWERTZ-Tastatur drücken Sie tatsächlich AltGr + Print + K.

Lesen Sie diesen Wikipedia-Artikel für andere Verwendungszwecke der SysRq-Tastenkombinationen . Sie haben mehr Kontrolle über das System, als Sie wahrscheinlich benötigen.

rumtscho
quelle
1
howto enable ctrl-alt- backspace ubuntugeek.com/
matthias krull
Ich habe gerade Alt + SysRq + K auf einem nicht eingefrorenen System ausprobiert und es gab mir einen weißen leeren Bildschirm, auf dem ich nichts tun kann (auch bekannt als vollständiges Einfrieren?). Wie kann das hilfreich sein oder was habe ich falsch gemacht?
Phunehehe
4

In neueren Ubuntu-Versionen (für Upstart aktiviert) können Sie Folgendes eingeben:

sudo restart gdm

Manchmal kann man nicht zur Textkonsole wechseln, aber es kann trotzdem möglich sein, sich mit ssh von einem anderen PC aus anzumelden. Ein Neustart von gdm ist dann ebenfalls möglich und kann dazu führen, dass der Bildschirmtreiber nicht mehr reagiert.

IanH
quelle
1
Was bedeutet das für die Programme, die in der GUI ausgeführt wurden?
Tony_sid
2
Sie werden alle gekündigt, weil sie dort die Verbindung zu X
verlieren.
2

Wenn ALT F (n) und Maus alle funktionieren, können Sie auch versuchen, einzelne Programme vorsätzlich zu beenden, um zu sehen, ob eines von ihnen etwas veröffentlicht. Dies ist weniger technisch, aber es ist eine schnelle gui-orientierte Methode, um festzustellen, ob etwas, das kürzlich begonnen hat, das Problem ist.

ALT-F2: Zum Aufrufen des Dialogfelds zum Ausführen eines Programms, das meiner Erfahrung nach normalerweise funktioniert hat, auch wenn alles andere gesperrt ist.

xkill: Eine GUI-App wird geschlossen.

Klicken Sie auf die betreffende App und sehen Sie, was passiert.

Dennis
quelle
1

Meistens sollte es möglich sein, den Window Manager über Strg + Alt + Rücktaste neu zu starten. Obwohl dies Ihre Vordergrund-Apps zerstört, ist es immer noch kein vollständiger Neustart, es könnte ein Kompromiss für Sie sein.

private_meta
quelle
1
Dies ist seit 9.04 standardmäßig deaktiviert, daher funktioniert es nicht. Anstelle eines Neustarts können Sie auch /etc/init.d/gdm restart eingeben.
Matthias Krull
0

Nach dem Einfrieren einer Maschinen-GUI ... Ich denke, ein Neustart ist das Beste, was Sie tun können, es sei denn, Sie haben etwas Wichtiges und Langlebiges im Hintergrund.

laurent
quelle
0

Öffnen Sie ein virtuelles Terminal mit der Verknüpfung CTRL- ALT- F[number], melden Sie sich an sudo killall [dm](wo [dm]ist eine von gdm, gdm3, kde, wdm, lightdm, lxdm,etc) und starten Sie eine neue x-Sitzung mitstartx

Wenn Sie den dm nicht töten, macht das keinen allzu großen Unterschied. Ein eingefrorener / hing dm verbraucht nicht viel Rechenleistung.

Cepkos
quelle