我不小心从现有屏幕会话中附加了第二个GNU屏幕会话,并且无法分离或向内部屏幕发出命令。我记得以前曾经弄清楚该怎么做,但完全忘记了,想保留它作为参考。

一种方法是通过从外壳上执行screen -dr来分离内部屏幕,但是什么是按键组合是从屏幕本身内部完成的吗?

#1 楼

ctrl-a a d

评论


如果您已将屏幕的转义符自定义为Ctrl-A以外的其他字符,则按键顺序将大不相同。 :)

–懒惰
09年3月16日在22:28

是的,你自己一个人做。 a d可能起作用;手册页是模棱两可的,因为它说a发送了转义字符,然后说明了ctrl-A的含义。所以这是胡扯。

–混乱
09年3月16日在22:37

谢谢,我们去了,那也正是我想起的,当我告诉遇到这个问题的同事时,他说那没有用。当然,现在我发现他是按ctrl-a,ctrl-a,d,而不是ctrl-a,a,d。投票并关闭。

– Artem Russakovskii
09年3月16日在23:32

@brandizzi:你测试过了吗?因为我非常怀疑情况并非如此,并且您要使用的序列是ctrl-t a d。

–混乱
13-10-24在15:19



@chaos你测试过了吗?我现在尝试了一下,是的,C-t t d将屏幕拆离了屏幕。你可以试试看吗?只需将转义^ Tt添加到您的〜/ .screenrc中即可。

– brandizzi
13-10-24在16:47



#2 楼

ctrl+a a会将转义序列(ctrl + a)传递到子屏幕。因此,ctrl+a a d将在子屏幕中执行ctrl+a d(将其分离)

它适用于任何屏幕命令,例如ctrl+a, a, c将在子屏幕中创建一个窗口

评论


这有一个更好的解释

– Sgnl
17年9月21日在0:54

#3 楼

通常,如果另一个屏幕s3位于另一个屏幕s2中,则可以在屏幕中执行命令ctrl-a d: :ctrl-a d
s1这样做:ctrl-a ad
s1这样做:ctrl-a aad
...


#4 楼

好吧,这有一个技巧。只需通过以下命令远程断开所需屏幕的连接

screen -r -d screen_name or screen -rd screen_name