所以我面前有两个终端打开;
- /dev/pts/1 - '控制器'
- /dev/pts/2 - '接收者'
我目前正在使用蒂耶乔从 /pts1 执行 /pts2 中的命令。
我可以列出 /pts1 中的屏幕 -ttyecho -n /dev/pts/2 screen -ls
很好,并在 /pts2 中查看结果。
我可以从 /pts1 到 /pts2 很好地连接到屏幕ttyecho -n /dev/pts/2 screen -x [blah]
。但是我不能做的是,当连接到屏幕时然后与其分离。
因此,如果 /dev/pts/2 位于屏幕内,我尝试通过使用 /dev/pts1 中的 ttyecho 执行命令来与其分离
我试过发送...
ttyecho -n /dev/pts/2 ^a+d
ttyecho -n /dev/pts/2 screen -d -r
ttyecho -n /dev/pts/2 screen -D -RR
ttyecho -n /dev/pts/2 screen -d -r
ttyecho -n /dev/pts/2 screen -DRi
ttyecho -n /dev/pts/2 Ctrl+a+d
ttyecho -n /dev/pts/2 Ctrl+a d
ttyecho -n /dev/pts/2 CTRL + A
ttyecho -n /dev/pts/2 control+a
所以我想我需要的是:
- 我可以发送一个命令来分离屏幕或者
- 以某种方式将某种伪键盘命令发送
ttyecho
到另一个屏幕以将其分离。
非常感谢任何帮助。
答案1
你可以做
$ screen -ls
这将列出所有屏幕会话,如下所示。
There are screens on:
8365.pts-6.vm2 (Attached)
7317.pts-1.vm2 (Attached)
2 Sockets in /var/run/screen/S-root.
然后,您可以借助屏幕 ID 分离任何屏幕会话。
例如:
$ screen -d 8365
[8365.pts-6.vm2 detached.]
答案2
无需使用ttyecho
来分离screen
会话,您可以要求screen
为您执行此操作:
screen -d pts-2
这将分离与名称“pts-2”匹配的会话,默认情况下该会话将与 上启动的屏幕会话匹配pts/2
。