Екран GNU не реагує, здається, заблокований


88

Екран GNU, здається, зависає. Не вдалося ввести введені користувачем дані.

Я використовував екран GNU, і коли я натискав на екран, він не реагував. Я можу виконати всі команди на екрані GNU, але не можу ввести введені користувачем дані. Я не хочу вбивати цей екран, оскільки у мене важлива робота, і я не хочу її втрачати.


Відповіді:


132

У наведених нижче командах замініть Ctrlбудь-яку вашу клавішу входу для екранних команд.

Спробуйте Ctrl+ a q, що є послідовністю для розблокування прокрутки.

Ctrl+ a s- це послідовність, яка блокує прокрутку, від чого екран здається завмерлим.


Ну, це спрацювало, але лише на одному екрані, на іншому він вийшов :(
sirus

7
Ви, сер, щойно зробили мені день :) Документація до екрану GNU не з’явилася, коли погуглив "замороження екрану gnu": /
david_p

1
У мене була та сама проблема. Лише один екран був заморожений, що змусило мене повірити, що проблема "специфічна для екрану". Справді, я випадково натиснув Ctrl-A s.
smithfarm

Я настільки звик використовувати CTRL + A, щоб перейти в передню частину командного рядка, щоб додати sudo(оскільки я забув почати з нього), що коли я використовую екран, я постійно блокую його! Як сказано в попередньому коментарі, в CTRL+A qосновному це працює, іноді існує екран. Бажаю, щоб за замовчуванням не було CTRL + A, на серверах, які я часто використовую, я змінюю їх на клавішу "ESC".
johnnyB 02

1
Поєднуйте цього неприємного звіра з жахливим Ctrl + S від PuTTY, який надсилає XOFF, і це дійсно змушує мене боятися "s" на моїй клавіатурі. Це зло. Як не дивно, натискання клавіші PuTTY - Ctrl + Q, щоб надіслати XON ... "q" - це рятівник. Дякую, відповідь 6 років.
JNevill

67

Під час використання PuTTY ви можете отримати очевидно заморожений екран, якщо натиснути Ctrl+ s. Це посилає Xoffсигнал, що блокує вихід терміналу.

Рішення полягає в натисканні Ctrl + qдля надсилання Xonсигналу.


Також працював у мене на ROXTerm в Linux - екран був заблокований і дав мені запит на вхід.
Pocketsand

Врятував мій день (і ніч).
sk

8

Вищевказане чудово працює, якщо це ваша проблема.

Це також може статися, якщо ви потрапили в іншу машину і якийсь час не були біля вікна, тоді, коли ви повернетесь назад, воно замерзне. Щоб виправити це, можна спробувати наступне:

1) Створити нове вікно

Ctrl-a c

2) ssh у вікно, де ти ssh'd у вікно у замороженому вікні.

3) Знайдіть процес, за яким працює ssh:

ps aux | grep <remote_box_on_frozen_screen>

або

ps aux | grep <your_user_id>

4) Убити процес

kill <process_id>

Не знаю, як я потрапив у такий невідповідний стан, оскільки зазвичай ctrl-q працює на мене, але мені довелося це зробити і втратити свою роботу. +1 за пораду про надзвичайні ситуації
таранакі,

2
Найчастіше будь-яке заморожене з'єднання SSH можна примусово закрити натисканням Enter, потім ~і потім .(див. Також тут ).
fotNelton

3

Коли ви вводите screen -lsперше число екранного імені, це ідентифікатор процесу. Отже, якщо результат є

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.

Тоді це вб’є його:

kill 21605

Зверніть увагу, що номер команди kill такий самий, як і у screen -lsвиведенні.


2

Якщо ви використовуєте команди зворотного тику в рядку стану - тобто, якщо у вас .screenrcє щось подібне:

backtick 1 0 60 /some/script.sh

тоді ви хочете бути впевнені, що сценарій швидкий: мабуть, виконання зворотного тику блокує весь введення-виведення на екран.

Якщо ви вносите зміни до конфігурації, вам потрібно буде перезапустити сеанс екрана (оскільки конфігурація застосовується лише до нових сеансів).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.