我让Screen在SSH会话中运行。航站楼冻结。重新启动终端后,屏幕会话仍然认为它已连接。也许是。也许我真的不知道这意味着什么。
我想从一个新的SSH登录连接到那个Screen会话。我不想因为那里正在发生重要的事情而取消屏幕会话。:)
我认为我有(没有一个我知道如何解决)的选择:
- 如何分离屏幕会话
- 如何终止该Screen会话所连接的SSH会话
正如Jose所回答的,screen -d -r
应该做到这一点。这是两个命令的组合,取自手册页。
screen -d
分离已经运行的屏幕会话,screen -r
重新附加现有会话。通过运行screen -d -r
,您可以强制屏幕分离它,然后继续会话。
如果你使用大写-D -RR
,我引用手册页,因为它太好了,不能错过。
立即附加。不管这意味着什么,就去做吧。
注意:通过"屏幕列表"检查会话的状态总是一个好主意。
尝试使用screen -d -r
或screen -D -RR
简短回答
- 重新连接而不弹出其他:
screen -x
- 获取显示器列表:
^A
*
,选择要断开连接的显示器,按d
解释性答案
背景:当我在寻找具有相同问题描述的解决方案时,我总是找到这个答案。我想提供更合理的解决方案(例如:另一个附加的屏幕有不同的大小,我不能在我的终端中强制调整它的大小。)
注意:
PREFIX
通常为^A
=ctrl+a
注意: 显示也可以称为:
- "用户前端">(在屏幕中的
at
命令手册中)- "客户端">(此功能为
detach-client
的tmux词汇表)- "终端">(我们称之为用户界面中的窗口)/取决于
1.重新连接会话:screen -x
-x
连接到未分离的屏幕会话而不分离它
2.列表显示该会话的:PREFIX
*
它是PREFIX
:displays
的默认密钥绑定。在屏幕中执行,识别我们要断开连接的另一个显示器(例如较小的尺寸)。(当前显示将显示为较亮的颜色/bold,如果未选中)。
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
退出列表