GNU屏幕无响应,似乎被阻止


Answers:


132

在下面的命令中,Ctrl用您的屏幕命令转义键替换。

尝试Ctrl+ a q,这是取消滚动的顺序。

Ctrl+a s是阻止滚动的顺序,这使屏幕看起来像死机了。


好吧,它起作用了,但是只在一个屏幕上,在另一个屏幕上它退出了:(
sirus 2010年

7
先生,
您好

1
我有同样的问题。仅冻结了一个屏幕,这使我相信问题是“特定于屏幕的”。确实,我不小心按下了Ctrl-A。
Smithfarm 2014年

我习惯于使用CTRL + A转到命令行的前面进行添加sudo(因为我忘记了从它开始),所以当我使用屏幕时,我会一直锁定它!如先前的评论所述,CTRL+A q大多数情况下有效,有时还存在屏幕。希望CTRL + A不是默认值,在很多我使用的服务器上,我将其更改为“ ESC”键。
johnnyB

1
将此讨厌的小野兽与PuTTY可怕的Ctrl + S结合使用,后者会发送XOFF,这确实让我担心键盘上的“ s”。这是邪恶的。奇怪的是,PuTTY按键是Ctrl + Q来发送XON ...“ q”是救星。谢谢6岁的答案。
JNevill '16

67

使用腻子,你可以,如果你按下得到一个显然冻结屏幕Ctrl+ s。这会发送一个Xoff信号,阻止终端的输出。

解决方法是 Ctrl+q发送Xon信号。


在Linux上的ROXTerm上也为我工作-屏幕被锁定并给了我一个登录提示。
Pocketsand,

挽救了我的白天和黑夜。
sk

8

如果那是您的问题,则上述方法效果很好。

如果您将ssh's放入另一台计算机并且已经一段时间没有去过窗口了,那么当您返回时,它会冻结。要解决此问题,您可以尝试以下操作:

1)创建一个新窗口

Ctrl-a c

2)ssh进入冻结的窗口中的框。

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此操作时,屏幕名称的第一个数字是进程ID。所以如果输出是

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

那么您要确保脚本运行速度很快:显然,反引号执行会阻止所有IO进入屏幕。

如果您对配置进行更改,则需要重新启动屏幕会话(因为该配置仅适用于新会话)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.