如何将第二个屏幕与另一个屏幕分开?


119

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

一种方法是通过screen -dr与外壳分离来分离内部屏幕,但是从屏幕内部进行分离的关键组合是什么?

Answers:


157

ctrl-a a d


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

是的,你自己一个人做。<esc>广告可能有效;手册页是模棱两可的,因为它说a发送转义字符,然后说明ctrl-A的含义。所以这是胡扯。

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

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

1
@chaos 测试过了吗?我现在尝试了一下,是的,Ct td将屏幕拆开了。你可以试试看吗?只需添加escape ^Tt到您的中即可~/.screenrc
brandizzi

63

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

它可以与任何屏幕命令一起使用,例如ctrl+a, a, c将在子屏幕中创建一个窗口


3
这是一个更好的解释
-Sgnl

3

通常,如果s3另一个屏幕s2中的另一个屏幕中有一个屏幕,则s1可以ctrl-a d在该屏幕中执行命令:

  • s1 通过做: ctrl-a d
  • s2 通过做: ctrl-a a d

  • s3 通过做: ctrl-a a a d

  • ...


0

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

screen -r -d screen_name or screen -rd screen_name
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.