Der GNU-Bildschirm reagiert nicht, scheint blockiert zu sein


88

GNU Screen scheint einzufrieren. Benutzereingaben können nicht eingegeben werden.

Ich habe den GNU-Bildschirm verwendet und als ich auf den Bildschirm drückte, reagierte er nicht mehr. Ich kann alle GNU-Bildschirmbefehle ausführen, aber keine Benutzereingaben eingeben. Ich möchte diesen Bildschirm nicht töten, da ich wichtige Arbeiten habe und sie nicht verlieren möchte.


Antworten:


131

Ersetzen CtrlSie in den folgenden Befehlen die Escape-Taste für Bildschirmbefehle.

Versuchen Sie Ctrl+ a q, die Sequenz zum Entsperren des Bildlaufs.

Ctrl+ a sist die Sequenz, die das Scrollen blockiert, wodurch der Bildschirm so aussieht, als würde er einfrieren.


Nun, es hat funktioniert, aber nur auf einem Bildschirm, auf dem anderen wurde es beendet :(
sirus

7
Sie, Sir, haben gerade meinen Tag gemacht :) Die Dokumentation zum GNU-Bildschirm wurde nicht angezeigt, als "gnu screen freeze"
gegoogelt wurde

1
Ich hatte das gleiche Problem. Nur ein Bildschirm wurde eingefroren, was mich glauben ließ, dass das Problem "bildschirmspezifisch" war. In der Tat hatte ich versehentlich Strg-A gedrückt.
Smithfarm

Ich bin es so gewohnt, STRG + A zu verwenden, um an die Vorderseite der Befehlszeile zu gelangen und hinzuzufügen sudo(da ich vergessen habe, damit zu beginnen), dass ich es bei Verwendung des Bildschirms die ganze Zeit sperre! Wie der vorherige Kommentar sagt, CTRL+A qfunktioniert meistens, manchmal existiert der Bildschirm. Wünschte, STRG + A wäre nicht die Standardeinstellung. Auf Servern, die ich häufig verwende, ändere ich sie in den Schlüssel "ESC".
JohnnyB

1
Kombiniere dieses böse kleine Biest mit PuTTYs schrecklichem Strg + S, das einen XOFF sendet und mich wirklich vor dem "s" auf meiner Tastatur fürchten lässt. Es ist böse. Seltsamerweise ist der PuTTY-Tastendruck Strg + Q, um ein XON zu senden ... "q" ist der Retter. Vielen Dank, 6 Jahre alte Antwort.
JNevill

67

Wenn Sie PuTTY verwenden , können Sie einen scheinbar eingefrorenen Bildschirm erhalten, wenn Sie Ctrl+ drücken s. Dies sendet ein XoffSignal , das den Ausgang des Terminals blockiert.

Die Lösung besteht darin , Ctrl + qzu drücken , um das XonSignal zu senden .


Arbeitete auch für mich unter ROXTerm unter Linux - der Bildschirm war gesperrt und gab mir eine Anmeldeaufforderung.
Taschen und

Rettete meinen Tag (und meine Nacht).
Sk

8

Das obige funktioniert gut, wenn das Ihr Problem ist.

Dies kann auch passieren, wenn Sie sich in einer anderen Maschine befinden und seit einiger Zeit nicht mehr am Fenster waren. Wenn Sie dann zurückgehen, ist es eingefroren. Um dies zu beheben, können Sie Folgendes versuchen:

1) Erstellen Sie ein neues Fenster

Ctrl-a c

2) ssh in die Box, wo du in die Box im eingefrorenen Fenster ssh'd.

3) Finden Sie den Prozess, unter dem ssh ausgeführt wird:

ps aux | grep <remote_box_on_frozen_screen>

oder

ps aux | grep <your_user_id>

4) Beenden Sie den Prozess

kill <process_id>

Ich weiß nicht, wie ich die Dinge in einen so nicht reagierenden Zustand gebracht habe, da normalerweise Strg-Q für mich funktioniert, aber ich musste dies tun und meine Arbeit verlieren. +1 für die Pause hier im Notfall Beratung
Taranaki

2
Meistens kann eine eingefrorene SSH-Verbindung durch Drücken von Enterdann ~und dann gewaltsam geschlossen werden .(siehe auch hier ).
fotNelton

3

Wenn Sie dies tun, ist screen -lsdie erste Nummer des Bildschirmnamens die Prozess-ID. Also wenn die Ausgabe ist

There is a screen on:
    21605.pts-0.Random-server   (11/12/2017 11:44:15 PM)    (Detached)
1 Socket in /var/run/screen/S-kg.

Dann wird dies es töten:

kill 21605

Beachten Sie, dass die Nummer für den Befehl kill dieselbe ist wie in der screen -lsAusgabe.


2

Wenn Sie Backtick-Befehle in der Statuszeile verwenden - das heißt, wenn Sie .screenrcso etwas haben:

backtick 1 0 60 /some/script.sh

Dann möchten Sie sicher sein, dass das Skript schnell ist: Anscheinend blockiert die Backtick-Ausführung alle E / A-Vorgänge für den Bildschirm.

Wenn Sie Änderungen an der Konfiguration vornehmen, müssen Sie die Bildschirmsitzung neu starten (da die Konfiguration nur für neue Sitzungen gilt).

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.