Command-Line

如何從另一個終端遠端分離螢幕

  • February 9, 2018

所以我面前有 2 個終端打開;

  1. /dev/pts/1 - ‘控制器’
  2. /dev/pts/2 - ‘接收者’

我目前正在使用ttyecho從 /pts1 執行 /pts2 中的命令。

我可以列出螢幕 -ttyecho -n /dev/pts/2 screen -ls從 /pts1 中很好,並在 /pts2 中查看結果。

我可以ttyecho -n /dev/pts/2 screen -x [blah]從 /pts1 上的 /pts2 很好地連接到螢幕。但我不能做的是,當連接到螢幕時,然後從它分離。

因此,如果 /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以某種方式通過向另一個螢幕發送某種偽鍵盤命令以將其分離。

非常感謝任何幫助。

你可以做

$ 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.]

不需要用來ttyecho分離screen會話,你可以要求screen為你做:

screen -d pts-2

這將分離與名稱“pts-2”匹配的會話,預設情況下,該會話將匹配開始於 的螢幕會話pts/2

引用自:https://unix.stackexchange.com/questions/422949