在GNU屏幕会话之间移动窗口


11

有没有办法在不同的屏幕会话之间移动窗口?

例如,假设我有这种情况:

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

有什么方法可以将包含vim会话的shell从screen1移动到screen2?


1
我不这么认为,但我不是屏幕专家。有趣的问题,+ 1。
quack quixote 2010年

2
在屏幕邮件列表上找到了一个讨论-list.gnu.org/archive/html/screen-users/2008-04/msg00009.html-目前尚无法实现,显然是“噩梦”。
威廉·卡萨琳

Answers:


4

您可以使用injcode在ttys之间移动进程。要在目标屏幕窗口中运行带有PID的过程,请执行以下操作:

$ injcode -m retty PID

但是,当您关闭父Screen会话时,移动的进程也会终止。

编辑:我错了,它可以工作。一切都在这里描述。假设您要移动“ htop”并且只有一个实例正在运行:

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

然后在之前的shell类型上:

$ disown
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.