Movendo janelas entre sessões de tela GNU

11

Existe uma maneira de mover janelas entre diferentes sessões de tela?

Por exemplo, digamos que eu tenho esse cenário:

screen -S screen1
vim *.cpp
C-a d
screen -S screen2

Existe alguma maneira de mover meu shell contendo minha sessão vim de screen1 para screen2?

William Casarin
fonte
1
acho que não, mas não sou um guru das telas . pergunta interessante, +1.
quack quixote
2
encontrou uma discussão na lista de discussão da tela - lists.gnu.org/archive/html/screen-users/2008-04/msg00009.html - não é possível no momento e um 'pesadelo' para implementar aparentemente.
William Casarin

Respostas:

4

Você pode usar o injcode para mover um processo entre ttys. Para mover o processo com o PID, execute na janela da tela de destino:

$ injcode -m retty PID

No entanto, quando você fecha a sessão de tela pai, os processos movidos também são finalizados.

Edit: Eu estava errado, ele funciona. Tudo está descrito aqui . Suponha que você queira mover "htop" e apenas uma instância esteja em execução:

$ injcode -m retty $(pgrep htop)
$ pkill -SIGSTOP htop
$ pkill -SIGCONT htop

depois, no tipo de shell anterior:

$ disown
askonecki
fonte