有没有办法在不同的屏幕会话之间移动窗口?
例如假设我有这种情况:
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