在 Ubuntu 上安装分离屏幕时出现混乱

在 Ubuntu 上安装分离屏幕时出现混乱

屏幕列表显示

There are screens on:
    9531.pts-0.ubuntu   (03/02/2011 12:43:34 PM)    (Detached)
    2101.pts-0.ubuntu   (03/02/2011 12:39:17 PM)    (Attached)
    2219.pts-0.ubuntu   (03/02/2011 11:20:56 AM)    (Attached)
3 Sockets in /var/run/screen/S-bond.

但是当我输入

screen -r 2101.pts-0.ubuntu
There is a screen on:
    2101.pts-0.ubuntu   (03/02/2011 12:39:16 PM)    (Attached)
There is no screen to be resumed matching 2101.pts-0.ubuntu.

在这里我无法返回屏幕 2101.pts-0.ubuntu,事实上我退出了。如果我这样做

screen -r 9531.pts-0.ubuntu
[detached from 9531.pts-0.ubuntu]

然后上面你可以看到我进入了那个会话然后又出来了,我可以反复执行此操作。但是其他会话不是这样吗?那么我犯了什么错误?

答案1

从 中可以看到screen -list,该屏幕会话当前已连接。如果不先将其分离,则无法从其他地方将其连接到它。您可以通过添加选项来执行此-d操作,例如screen -d -r 2101.pts-0.ubuntu。有关更多信息,请参阅GNU Screen 手册。以下是摘录:

-r [pid.tty.host]
-r sessionowner/[pid.tty.host]
恢复分离的屏幕会话。不能指定其他选项(与 -d/-D 的组合除外),但可能需要可选前缀 [pid.]tty.host 来区分多个分离的屏幕会话。第二种形式用于连接到以多用户模式运行的另一个用户的屏幕会话。这表示屏幕应该在另一个用户的目录中查找会话。这需要 setuid-root

-d|-D [pid.tty.host]
不启动 screen,但会分离正在其他位置运行的 screen 会话。其效果与从 screen 的控制终端输入“Ca d”相同。-D 相当于电源分离键。如果无法分离任何会话,则忽略此选项。与 -r/-R 选项结合使用可实现更强大的效果:

-d -r 重新连接会话,如果需要,请先将其分离。

-d -R 重新连接会话,如果需要,可以先分离甚至创建它。

-d -RR 重新连接会话,如有必要,可断开或创建会话。如果有多个会话可用,请使用第一个会话。

-D -r 重新连接会话。如有必要,请先远程断开连接并注销。

-D -R 立即连接。具体来说,这意味着:如果会话正在运行,则重新连接。如有必要,请先远程分离并注销。如果它未运行,请创建它并通知用户。这是作者最喜欢的。

-D -RR 立即附加。无论这意味着什么,只需执行即可。

-x 附加到未分离的屏幕会话。(多显示模式)。

注意:通过“screen -list”检查会话状态总是一个好主意。

答案2

打电话叫医生!

screen -dr 2101.pts-0.ubuntu

相关内容