Wie behebe ich ein nicht reagierendes Ubuntu-System?

22

Ich benutze Ubuntu. Manchmal reagiert das System nicht mit Maus und Tastatur. Gibt es eine Möglichkeit, dieses Problem zu lösen, außer die Reset-Taste an der Maschine zu drücken?

user297850
quelle
1
Das ist eine schwierige Frage, denn Sie geben uns nicht viel, um fortzufahren. Wenn ich es wäre, würde ich STRG + ALT + F [1..6] drücken, mich anmelden und einige Prozesse beenden. Aber ich weiß fast immer , warum meine Maschine nicht mehr reagiert. und zusätzlich manchmal schreibe ich Programme , die ich kenne , sind gehen , um es unempfänglich zu machen, weil ich die Ausgabe des Programms wollen.
ixtmixilix
Sind Sie sicher, dass das System nicht mehr reagiert oder funktioniert das System noch, aber die Eingabegeräte funktionieren nicht mehr?
Bobby

Antworten:

35

Wenn Sie einen Neustart durchführen möchten, ohne geöffnete Dokumente zu speichern, aber ohne auf die Schaltfläche zum Zurücksetzen zu klicken, gibt es Möglichkeiten, die mit geringerer Wahrscheinlichkeit zu Datenverlusten führen. Versuchen Sie zuerst Ctrl+ Alt+ F1. Das sollte Sie zu einer virtuellen Konsole bringen , wie ixtmixilix sagte. Sobald Sie in einer virtuellen Konsole sind, Ctrl+ Alt+ Deletewird heruntergefahren und das Gerät neu starten.

Wenn diese Technik funktioniert nicht, es gibt immer Alt+ SysRq+REISUB .

Was die Behebung des Problems ohne Neustart und ohne weitere Informationen über die aktuellen Vorgänge angeht, ist es schwierig, eine gute Antwort zu geben. Wenn Sie die Umstände beschreiben könnten, unter denen dies auftritt (die beste Möglichkeit besteht darin , Ihre Frage zu bearbeiten , um die Informationen hinzuzufügen), könnte dies den Menschen helfen, gute Antworten zu geben. Die andere Sache zu prüfen ist , dass, wenn Ihr Computer nicht mehr reagiert immer - vor allem , wenn es mehr als aa paar Sekunden dauert , Ctrl+ Alt+ F1eine virtuelle Konsole zu bringen - dann haben Sie fast sicher einen Fehler, und durch es Berichterstattung möglich beide helfen der Community und bekommen vielleicht eine Antwort.

Probleme mit der Benutzeroberfläche, die zu einem nicht reagierenden WM oder X11 / Wayland führen

Dies kann auf eine Interaktion zwischen einer Anwendung und einem Fenstermanager - oder dem X11-Server oder Wayland - zurückzuführen sein. Ein Anzeichen dafür, dass dies die Natur des Problems ist, ist, dass eine Anwendung nicht mehr reagiert und Sie keine Eingaben mit der Tastatur oder der Maus in andere Anwendungsfenster eingeben können. (Keine Anwendung sollte dazu in der Lage sein. Einige GUI-Komponenten müssen einen Fehler aufweisen, damit dies auftritt.) Wenn dies der Fall ist, können Sie den fehlerhaften Prozess in einer virtuellen Konsole beenden (wie in ixtmixilix angedeutet):

  1. Drücken Sie Ctrl+ Alt+ F1.

  2. Einloggen. Sie werden nichts sehen, wenn Sie Ihr Passwort eingeben. Das ist normal.

  3. Verwenden Sie ein Hilfsprogramm ps, um den Prozessnamen des betreffenden Programms zu ermitteln. Manchmal ist das in Ubuntu einfach und manchmal nicht. Der Name eines Archive Manager-Prozesses lautet beispielsweise file-roller. Wenn Sie Probleme haben, dies herauszufinden, können Sie die Informationen in der Regel problemlos online finden (oder wenn dies nicht möglich ist, können Sie eine Frage dazu stellen).

    Sie können psdie Ausgabe weiterleiten, grepum die Werte einzugrenzen. Angenommen, es war Archive Manager, der das Problem verursacht hat. Dann könnten Sie laufen:

    ps x | grep file-roller
    

    Sie sehen einen Eintrag für Ihren eigenen grepBefehl sowie einen Eintrag für file-roller.

  4. Versuchen Sie, den fehlerhaften Prozess mit zu beenden SIGTERM. Dies gibt ihm die Möglichkeit, in letzter Minute zu bereinigen, z. B. Dateipuffer zu leeren, Remote-Servern zu signalisieren, dass die Verbindung getrennt wird (für Protokolle, die dies tun), und andere Arten von Ressourcen freizugeben. Verwenden Sie dazu den killBefehl:

    kill PID

    Wo PIDist die Prozess-ID-Nummer des Prozesses, den Sie beenden möchten, ermittelt aus der Ausführung psin Schritt 3?

  5. SIGTERMist eine Möglichkeit, einen Prozess fest zum Beenden aufzufordern. Der Prozess kann dieses Signal ignorieren und dies tun, wenn unter bestimmten Umständen eine Fehlfunktion auftritt. Sie sollten also überprüfen, ob es funktioniert hat. Wenn dies nicht SIGKILLder Fall ist , töten Sie es mit , was nicht ignoriert werden kann und das immer funktioniert, außer in dem seltenen Fall, in dem sich der Prozess im unterbrechungsfreien Schlaf befindet (oder wenn er nicht wirklich läuft, sondern eher ein Zombie-Prozess ist ).

    Sie können SIGKILLmit nur einem Befehl prüfen, ob der Prozess noch ausgeführt wird, und ihn mit beenden, wenn dies der Fall ist :

    kill -KILL PID

    Wenn Sie eine Nachricht wie erhalten , wissen Sie, dass es funktioniert hat , sie zu töten . Wenn Sie keine Ausgabe erhalten, wissen Sie, dass dies nicht funktioniert hat. In diesem Fall wahrscheinlich, aber es lohnt sich zu überprüfen, indem Sie es erneut ausführen. (Drücken Sie die Aufwärtspfeiltaste, um frühere Befehle aufzurufen und die Eingabe zu vereinfachen.)kill: (PID) - No such processSIGTERMSIGTERMSIGKILL

  6. In seltenen Fällen für Ihre eigenen Prozesse oder immer für Prozesse, die einem rootanderen Benutzer gehören, müssen Sie den Prozess als beenden root. Dazu müssen Sie sudo den obigen killBefehlen ein Leerzeichen voranstellen . Wenn die oben genannten Befehle nicht funktionieren oder Sie nicht über die erforderlichen Zugriffsrechte verfügen, um den Vorgang abzubrechen, versuchen Sie es wie rootmit sudo.

(Ist übrigens kill -KILLdas gleiche wie das weit verbreitete kill -9. Ich empfehle, kill -KILLda SIGKILLes nicht 9auf allen Plattformen als Signalnummer garantiert ist . Es funktioniert auf x86, aber das bedeutet nicht, dass es notwendigerweise überall funktionieren wird. Auf diese Weise kill -KILList wahrscheinlicher, den Prozess erfolgreich zu beenden alskill -9 . Aber sie sind auf x86 gleichwertig.

Wenn Sie wissen, dass es keine anderen Prozesse mit demselben Namen gibt wie den, den Sie beenden möchten, können Sie killallstattdessen verwendenkill und anstelle der Prozess-ID-Nummer den Namen des Prozesses verwenden.

Ein Prozess, der CPU-Ressourcen monopolisiert

Wenn ein Prozess mit oder in der Nähe der höchstmöglichen Priorität ausgeführt wird (oder um es genauer auszudrücken, mit oder in der Nähe der niedrigstmöglichen Genauigkeit) ), reagiert Ihre grafische Benutzeroberfläche möglicherweise vollständig oder nahezu vollständig nicht mehr. In dieser Situation können Sie jedoch wahrscheinlich nicht zu einer virtuellen Konsole wechseln und Befehle ausführen (oder sogar neu starten).

Wenn ein Prozess oder eine Kombination von Prozessen mit normaler oder mäßig erhöhter Priorität Ihren Computer verlangsamt, sollten Sie in der Lage sein, sie mithilfe der im obigen Abschnitt beschriebenen Technik zu beenden. Wenn es sich jedoch um grafische Programme handelt, können Sie sie wahrscheinlich auch beenden, indem Sie in den Fenstern auf die Schaltfläche zum Schließen klicken. In der Desktop-Umgebung können Sie sie beenden, wenn sie nicht reagieren. Wenn dies nicht funktioniert, können Sie sie natürlich (fast) immer mit töten kill -KILL.

E / A-Probleme

Fehlerhafte E / A-Vorgänge können zu einer längeren (sogar ewigen) Reaktionslosigkeit führen. Dies kann an einem Kernel-Fehler und / oder fehlerhaften Treibern liegen. Eine teilweise Problemumgehung besteht darin, schwere und gleichzeitige Lese- und / oder Schreibvorgänge zu vermeiden (kopieren Sie beispielsweise nicht zwei große Dateien gleichzeitig, in zwei gleichzeitigen Kopiervorgängen; kopieren Sie keine große Datei, während Sie ein HD-Video ansehen oder eine installieren) Betriebssystem in einer virtuellen Maschine).

Dies ist offensichtlich unbefriedigend und die wirkliche Lösung besteht darin, das Problem zu finden und es zu melden. Sofern Sie keinen Mainline-Kernel von kernel.org ausführen , sollten Kernel-Fehler gegen das Paket linuxin Ubuntu gemeldet werden (da Ubuntu spezielle Kernel-Builds enthält, die distro-spezifische Patches integrieren, und Fehlerberichte, die nicht gegen einen Mainline-Kernel bestätigt wurden, werden bei abgelehnt kernel.org ). Sie sollten dies tun, indem Sie ubuntu-bug linux(oder apport-cli linux) auf dem betroffenen Computer ausführen. Lesen Sie zuerst die Dokumentation zur Ubuntu-Fehlerberichterstattung . es wird erklärt, wie dies richtig gemacht wird.

Probleme mit der Grafikkarte

Einige GUI-Abstürze können durch Grafikkartenprobleme verursacht werden. Es gibt ein paar Dinge, die Sie versuchen können, um dies zu lindern:

  1. Durchsuchen Sie das Internet, um festzustellen, ob andere Benutzer ähnliche Probleme mit derselben Grafikkarte (und / oder Marke und Modell des Computers) unter Ubuntu oder anderen GNU / Linux-Distributionen hatten. Es kann Lösungen geben, die spezifischer sind als das, was ich in dieser Antwort anbieten kann, ohne spezifischere Informationen als derzeit in Ihrer Frage.

  2. Überprüfen Sie, ob verschiedene Grafiktreiber verfügbar sind, die Sie ausprobieren können. Sie können dies tun, indem Sie Zusätzliche Treiber einchecken. Sie können auch im Internet nach verfügbaren Linux-Treibern für Ihre Grafikkarte suchen. Die meisten proprietären Grafikkarten sind Intel, AMD / ATi oder Nvidia (klicken Sie auf diese Links, um die Community-Dokumentation zur Installation und Verwendung proprietärer Treiber für diese Karten in Ubuntu anzuzeigen). Für Intel ist es am besten, sich an die FOSS-Treiber zu halten, die in Ubuntu vorhanden sind, aber es gibt immer noch hilfreiche Informationen, die Sie verwenden können. Unabhängig davon, über welche Karte Sie verfügen, können diese allgemeinen Informationen hilfreich sein.

    Wenn Sie derzeit proprietäre Treiber verwenden, können Sie versuchen, andere proprietäre Treiber zu verwenden (z. B. direkt von NVidia oder AMD / ATi), oder Sie können stattdessen die kostenlosen Open Source-Treiber verwenden.

  3. Versuchen Sie, einen grafischen Login Auswahl Sitzungstypen , die nicht benötigt / Verwendung Grafikbeschleunigung. Melden Sie sich dazu ab und klicken Sie im grafischen Anmeldebildschirm neben Ihrem Anmeldenamen auf das Ubuntu-Logo oder das Zahnradsymbol. Ein Dropdown-Menü wird angezeigt. Ändern Sie die Auswahl von Ubuntu zu Ubuntu 2D . Dadurch verwenden Sie Unity 2D anstelle von Unity . (Wenn Sie GNOME Shell verwenden , können Sie stattdessen GNOME Fallback / GNOME Classic auswählen .) Wenn Sie Zweifel haben und die Auswahl "keine Effekte" lautet, wählen Sie diese Option, da dies wahrscheinlich die sicherste ist.

    Diese Frage enthält weitere Informationen zu verschiedenen grafischen Oberflächen, zwischen denen Sie in Ubuntu wählen können.

  4. In neueren Versionen von Ubuntu können Sie auf dem Anmeldebildschirm zwischen X.org und Wayland wählen. Was auch immer Sie verwendet haben, versuchen Sie es mit dem anderen. Manchmal kann ein Problem mit Wayland mithilfe von X.org behoben werden oder umgekehrt.

  5. Melde einen technischen Fehler.

Hoffentlich haben die obigen Informationen einige allgemeine Informationen darüber vermittelt, was diese Art von Problem verursachen könnte. Es sollte auch dazu dienen, zu veranschaulichen, welche Art von Informationen für Sie nützlich sein können, um Ihre Frage zu ergänzen (abhängig von den spezifischen Details des Problems), um eine noch bessere Antwort zu erhalten. (Oder um diese Antwort mit zusätzlichen Informationen zu verbessern, die auf Ihre Situation zugeschnitten sind.)

Eliah Kagan
quelle
1
Gut gemachte Tipps zur Fehlerbehebung.
Cool Charac
Wenn die Tastatur nicht mehr reagiert, können Sie am
Uhr die
6

Ja, der einfachste Weg, dies zu erreichen, besteht darin, die Schlüssel zu aktivieren, um den Xorg-Server zu beenden und die X-Sitzung neu zu starten.

Um dies zu aktivieren, öffnen Sie die Systemeinstellungen -> Tastaturlayout-Optionen (oder verwenden Sie den keyboardBefehl in der Unity-Oberfläche, drücken Sie AltF2) und aktivieren Sie diese Option:

Strg + Alt + Rücktaste

Bildbeschreibung hier eingeben

Wenn es also hängt, CtrlAltBackspacetötet ein Treffer den X-Server und lightdm startet die Anmeldeschnittstelle neu

Gänseblümchen
quelle
Alt+Print+Kwird das gleiche aus dem Kasten heraus tun, nein?
Bobby