我在SSH会话中运行Screen。终端冻结。重新启动终端后,该Screen会话仍认为已连接。也许是。也许我真的不知道那意味着什么。
我想通过新的SSH登录名附加到该Screen会话。我不想终止该Screen会话,因为那边正在发生重要的事情。:)
我认为我可以使用的选项(我都不知道如何解决):
- 如何分离该Screen会话?
- 如何终止该Screen会话所连接的SSH会话?
我在SSH会话中运行Screen。终端冻结。重新启动终端后,该Screen会话仍认为已连接。也许是。也许我真的不知道那意味着什么。
我想通过新的SSH登录名附加到该Screen会话。我不想终止该Screen会话,因为那边正在发生重要的事情。:)
我认为我可以使用的选项(我都不知道如何解决):
Answers:
正如何塞回答的那样,screen -d -r
应该做到这一点。这是从手册页中获取的两个命令的组合。
screen -d
分离已经在运行的屏幕会话,然后screen -r
重新连接现有的会话。通过运行screen -d -r
,您可以强制屏幕分离它,然后恢复会话。
如果使用大写字母-D -RR
,请引用手册页,因为它太好了而无法传递。
现在就附上。不管这意味着什么,只需执行即可。
注意:最好通过“ screen -list”检查会话的状态。
screen -Dr
screen -x
^A
*
,选择要断开的显示,然后按d
背景:当我寻找具有相同问题描述的解决方案时,我总是着迷于此答案。我想提供更明智的解决方案。(例如:另一个连接的屏幕具有不同的大小,并且我无法在终端中强制调整其大小。)
注意:
PREFIX
通常是^A
=ctrl+a
注:该显示器也可以称为:
- “用户前端”(
at
在屏幕命令手册中)- “客户端”(此功能所在的tmux词汇表
detach-client
)- “终端”(在用户界面中称为窗口)/取决于
1.重新附加会话:screen -x
-x
附加到未分离的屏幕会话而不分离它
2.列出此会话的显示:PREFIX
*
这是默认的键绑定:PREFIX
:displays
。在屏幕上执行该操作,确定我们要断开的其他显示器(例如,较小的尺寸)。(未选择时,您当前的显示将以较亮的颜色/粗体显示)。
term-type size user interface window Perms
---------- ------- ---------- ----------------- ---------- -----
screen 240x60 you@/dev/pts/2 nb 0(zsh) rwx
screen 78x40 you@/dev/pts/0 nb 0(zsh) rwx
使用箭头↑
↓
,选择目标显示,然后按d
如果没有任何反应,则您尝试分离自己的显示,但屏幕不会分离。如果是另一个,则在一两秒钟内,该条目将消失。
按ENTER
退出列表。
可选:为了使内容适合您的屏幕,回流焊:PREFIX
F
(大写F)
摘录自屏幕手册:
显示
以表格形式列出所有当前连接的用户前端(显示)。这对于多用户会话最有用。可以在显示列表中使用以下键:
mouseclick
移至所选行。当“ mousetrack”设置为开时可用。space
刷新列表d
拆下显示器D
电源分离显示C-g
,enter
或escape
退出列表
screen -x
键入更快,但不完全相同的方法。它将第二次连接会话而不先断开连接,从而形成多显示模式。