Como desanexar remotamente uma tela de outro terminal

2

Então eu tenho dois terminais abertos na minha frente;

  1. / dev / pts / 1 - 'o controlador'
  2. / dev / pts / 2 - 'o destinatário'

No momento, estou usando ttyecho para executar comandos em / pts2 de / pts1.
Eu posso listar as telas - ttyecho -n /dev/pts/2 screen -ls fine de / pts1 e ver os resultados em / pts2.
Eu posso anexar a uma tela ttyecho -n /dev/pts/2 screen -x [blah] de / pts1 on / pts2 bem .. Mas o que eu não posso fazer, é quando anexado a uma tela, em seguida, separar dele.

Então, se / dev / pts / 2 estiver dentro de uma tela, eu estou tentando separar dele executando um comando usando ttyecho de / dev / pts1

Eu tentei enviar ...

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

Então, eu acho que eu também preciso:

  • Um comando que posso enviar para separar a tela OU
  • De algum modo, envie alguns pseudo-comandos de teclado via ttyecho para a outra tela para separá-lo.

Qualquer ajuda mais apreciada.

    
por AndreeCrist 09.02.2018 / 02:42

2 respostas

2

Você pode fazer

$ screen -ls

Isso listará todas as sessões de tela como esta.

There are screens on:
        8365.pts-6.vm2    (Attached)
        7317.pts-1.vm2    (Attached)
2 Sockets in /var/run/screen/S-root.

Depois, você pode desanexar qualquer sessão de tela com a ajuda da id da tela.

Por exemplo:

$ screen -d 8365
[8365.pts-6.vm2 detached.]
    
por 09.02.2018 / 10:57
3

Não é necessário usar ttyecho para desanexar a sessão screen , você pode pedir a screen para fazer isso por você:

screen -d pts-2

Isso desanexará a sessão correspondente ao nome "pts-2", que por padrão corresponderia a uma sessão de tela iniciada em pts/2 .

    
por 09.02.2018 / 06:12