L'écran GNU ne répond pas, semble bloqué


88

L'écran GNU semble se figer. Impossible de saisir l'entrée utilisateur.

J'utilisais l'écran GNU et lorsque j'ai appuyé sur l'écran, il ne répondait plus. Je peux exécuter toutes les commandes d'écran GNU, mais je ne peux pas entrer les entrées utilisateur. Je ne veux pas tuer cet écran car j'ai un travail important et je ne veux pas le perdre.


Réponses:


132

Dans les commandes ci-dessous, remplacez Ctrlpar ce que votre touche d'échappement est pour les commandes d'écran.

Essayez Ctrl+ a q, qui est la séquence pour débloquer le défilement.

Ctrl+ a sest la séquence qui bloque le défilement, ce qui donne l'impression que l'écran se fige.


Eh bien, cela a fonctionné mais seulement dans un écran, dans l'autre, il s'est arrêté :(
sirus

7
Vous, Monsieur, venez de faire ma journée :) La documentation de l'écran GNU n'est pas apparue lors de la recherche sur Google "gnu screen freeze": /
david_p

1
J'ai eu le même problème. Un seul écran était gelé, ce qui m'a fait croire que le problème était "spécifique à l'écran". En effet, j'avais accidentellement appuyé sur Ctrl-A s.
smithfarm

Je suis tellement habitué à utiliser CTRL + A pour aller au sudodébut de la ligne de commande pour ajouter (puisque j'ai oublié de commencer avec) que lorsque j'utilise screen, je le verrouille tout le temps! Comme le dit le commentaire précédent, CTRL+A qfonctionne principalement, l'écran existe parfois. Wish CTRL + A n'était pas la valeur par défaut, sur les serveurs que j'utilise beaucoup, je le change en touche "ESC".
johnnyB

1
Combinez cette vilaine petite bête avec l'affreux Ctrl + S de PuTTY qui envoie un XOFF et cela me fait vraiment craindre le "s" sur mon clavier. C'est mal. Curieusement, la frappe de PuTTY est Ctrl + Q pour envoyer un XON ... "q" est le sauveur. Merci, réponse de 6 ans.
JNevill

67

Lorsque vous utilisez PuTTY , vous pouvez obtenir un écran apparemment gelé si vous appuyez sur Ctrl+ s. Cela envoie un Xoffsignal bloquant la sortie du terminal.

La solution est d' appuyer sur Ctrl + qpour envoyer le Xonsignal.


A également travaillé pour moi sur ROXTerm sous Linux - l'écran était verrouillé et m'a donné une invite de connexion.
Pocketsand

J'ai sauvé ma journée (et ma nuit).
sk

8

Ce qui précède fonctionne très bien si c'est votre problème.

Cela peut également se produire si vous êtes connecté à une autre machine et que vous n'avez pas été à la fenêtre depuis un certain temps, puis lorsque vous revenez, elle est gelée. Pour résoudre ce problème, vous pouvez essayer ce qui suit:

1) Créer une nouvelle fenêtre

Ctrl-a c

2) ssh dans la boîte où vous avez ssh dans la boîte de la fenêtre gelée.

3) Trouvez le processus sous lequel ssh s'exécute:

ps aux | grep <remote_box_on_frozen_screen>

ou

ps aux | grep <your_user_id>

4) Tuez le processus

kill <process_id>

Je ne sais pas comment j'ai mis les choses dans un état si insensible, car ctrl-q fonctionne généralement pour moi, mais j'ai dû le faire et perdre mon travail. +1 pour le conseil de pause-ici-en-cas-
d'urgence

2
Le plus souvent, toute connexion SSH gelée peut être fermée de force en appuyant sur Enter, puis ~et ensuite .(voir aussi ici ).
fotNelton

3

Lorsque vous faites, screen -lsle premier numéro du nom d'écran est l'ID de processus. Donc, si la sortie est

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.

Ensuite, cela le tuera:

kill 21605

Notez que le numéro de la commande kill est le même que dans la screen -lssortie.


2

Si vous utilisez des commandes backtick dans la ligne d'état - c'est-à-dire si vous avez .screenrcquelque chose comme ceci:

backtick 1 0 60 /some/script.sh

alors vous voulez être sûr que le script est rapide: apparemment l'exécution du backtick bloque tous les E / S à l'écran.

Si vous apportez des modifications à la configuration, vous devrez redémarrer la session d'écran (car la configuration s'applique uniquement aux nouvelles sessions).

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.