在 GNU screen 会话之间移动窗口

在 GNU screen 会话之间移动窗口

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

例如假设我有这种情况:

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

有什么方法可以将包含 vim 会话的 shell 从屏幕 1 移动到屏幕 2 吗?

答案1

您可以使用 injcode 在 tty 之间移动进程。要使用 PID 移动进程,请在目标屏幕窗口中运行:

$ injcode -m retty PID

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

编辑:我错了,它确实有效。所有内容都已描述这里假设你想移动“htop”并且只有一个实例正在运行:

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

然后在前一个 shell 中输入:

$ disown

相关内容