我在 SSH 会话中运行了 Screen。终端冻结了。重新启动终端后,该屏幕会话仍然认为它已连接。也许是的。也许我真的不知道这意味着什么。
我想从新的 SSH 登录附加到该屏幕会话。我不想终止那个屏幕会话,因为那里正在发生重要的事情。 :)
我认为我有的选择(我都不知道如何解决):
正如何塞回答的那样,
screen -d -r
应该可以解决问题。这是两个命令的组合,取自手册页。
screen -d
分离已经运行的屏幕会话,screen -r
重新附加现有会话。通过运行 screen -d -r
,您可以强制 screen 将其分离,然后恢复会话。
如果你使用大写字母
-D -RR
,我会引用手册页,因为它太好了,不容错过。
立即附上。不管这意味着什么,就去做吧。
注意:通过“屏幕列表”检查会话状态始终是个好主意。
尝试使用
screen -d -r
或 screen -D -RR
screen -x
^A
*
,选择要断开连接的显示器,按 d
背景:当我寻找具有相同问题描述的解决方案时,我总是找到这个答案。我想提供更明智的解决方案。 (例如:另一个连接的屏幕具有不同的尺寸,并且我无法在终端中强制调整其大小。)
注意:
通常是PREFIX
=^A
ctrl+a
注意: 显示也可称为:
- “用户前端”(在屏幕中
命令手册中)at
- “客户端”(此功能是 tmux 词汇
)detach-client
- “终端”(我们在用户界面中调用窗口)/取决于
1。重新附加会话:
screen -x
-x
附加到未分离的屏幕会话 无需分离它
2。此会话的列表显示:
PREFIX
*
它是默认键绑定:
PREFIX
:displays
。
在屏幕内执行此操作,识别我们想要断开连接的其他display(例如较小的尺寸)。 (未选择时,您当前的显示将以更亮的颜色/粗体显示)。
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
退出列表
基本原理:-X = 执行命令,-S 要执行的会话 PID