Memindahkan windows di antara sesi layar GNU

11

Apakah ada cara untuk memindahkan windows di antara berbagai sesi layar?

Misalnya katakanlah saya punya skenario ini:

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

Apakah ada cara untuk memindahkan shell saya yang berisi sesi vim saya dari screen1 ke screen2?

William Casarin
sumber
1
Saya kira tidak, tapi saya bukan guru layar . pertanyaan menarik, +1.
quack quixote
2
menemukan diskusi di milis layar - lists.gnu.org/archive/html/screen-users/2008-04/msg00009.html - tidak mungkin saat ini dan 'mimpi buruk' untuk diterapkan tampaknya.
William Casarin

Jawaban:

4

Anda dapat menggunakan injcode untuk memindahkan proses antar ttys. Untuk memindahkan proses dengan PID dijalankan di jendela layar target:

$ injcode -m retty PID

Namun ketika Anda menutup sesi Layar induk, proses yang dipindahkan juga akan berakhir.

Sunting: Saya salah, berhasil. Semuanya dijelaskan di sini . Misalkan Anda ingin memindahkan "htop" dan hanya satu instance yang berjalan:

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

kemudian pada jenis shell sebelumnya:

$ disown
Askonecki
sumber