如何强制Screen与另一个SSH会话分离



我让Screen在SSH会话中运行。航站楼冻结。重新启动终端后,屏幕会话仍然认为它已连接。也许是。也许我真的不知道这意味着什么。

我想从一个新的SSH登录连接到那个Screen会话。我不想因为那里正在发生重要的事情而取消屏幕会话。:)

我认为我有(没有一个我知道如何解决)的选择:

  • 如何分离屏幕会话
  • 如何终止该Screen会话所连接的SSH会话

正如Jose所回答的,screen -d -r应该做到这一点。这是两个命令的组合,取自手册页。

screen -d分离已经运行的屏幕会话,screen -r重新附加现有会话。通过运行screen -d -r,您可以强制屏幕分离它,然后继续会话。

如果你使用大写-D -RR,我引用手册页,因为它太好了,不能错过。

立即附加。不管这意味着什么,就去做吧。

注意:通过"屏幕列表"检查会话的状态总是一个好主意。

尝试使用screen -d -rscreen -D -RR

简短回答

  1. 重新连接而不弹出其他:screen -x
  2. 获取显示器列表:^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退出列表。

可选:为了使内容适合您的屏幕,回流PREFIXF(大写F)

屏幕手册页摘录:

显示

显示所有当前连接的用户前端的表格列表(显示)。这对于多用户会话非常有用。以下键可用于显示列表:

  • mouseclick移动到所选行。当"mousetrack"设置为打开时可用
  • space刷新列表
  • d分离该显示器
  • D电源分离显示器
  • C-genterescape退出列表

相关内容

  • 没有找到相关文章

最新更新