我在一个SSH会话中运行了Screen。终端冻结了。重新启动终端后,该屏幕会话仍然认为它已附加。也许是。也许我真的不知道这意味着什么。
我想通过全新的SSH登录附加到该屏幕会话。我不希望杀死那个屏幕会话,因为那里发生了重要的事情。 :)
我认为我拥有的选项(我都不知道如何解决):
答案 0 :(得分:204)
正如何塞回答的那样,screen -d -r
应该做到这一点。这是两个命令的组合,如手册页所示。
screen -d
分离已经运行的屏幕会话,screen -r
重新挂起现有会话。通过运行screen -d -r
,您强制屏幕将其分离,然后恢复会话。
如果你使用大写-D -RR
,我引用手册页,因为它太好了,不能放弃。
立即加入此处。无论那意味着什么,只要这样做。
注意:通过“screen -list”检查会话状态总是一个好主意。
答案 1 :(得分:39)
尝试screen -d -r
或screen -D -RR
答案 2 :(得分:4)
screen -x
^A
*
,选择要断开的显示,然后按d
背景:当我寻找具有相同问题描述的解决方案时,我总是着眼于此答案。我想提供更明智的解决方案。 (例如:另一个连接的屏幕具有不同的大小,并且我无法在终端中强制调整其大小。)
注意:
PREFIX
通常是^A
=ctrl+a
注意:显示也可以称为:
- “用户前端” (在屏幕上的
at
命令手册中)- “客户端” (此功能为
detach-client
的tmux词汇)- “终端” (我们在用户界面中称为窗口)/取决于
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
退出列表