![在 Linux 中我可以将正在运行的窗口发送到新的 $DISPLAY 吗?](https://linux22.com/image/491902/%E5%9C%A8%20Linux%20%E4%B8%AD%E6%88%91%E5%8F%AF%E4%BB%A5%E5%B0%86%E6%AD%A3%E5%9C%A8%E8%BF%90%E8%A1%8C%E7%9A%84%E7%AA%97%E5%8F%A3%E5%8F%91%E9%80%81%E5%88%B0%E6%96%B0%E7%9A%84%20%24DISPLAY%20%E5%90%97%EF%BC%9F.png)
我有一些需要很长时间才能运行的模拟,而且我的工作中 Exceed 和 Go Global 窗口共享非常混乱。(我更希望使用简单的 VNC)。所以有时我需要从 Go Global 运行一些东西,然后我需要与其他人共享模拟。所以现在我必须退出模拟,将 $DISPLAY 更改为 Exceed 显示并重新启动模拟。如果我可以动态地将模拟发送到新的 $DISPLAY 而无需重新启动它,那就太好了。
在我看来这应该是可行的,但我想请专家看看是否可行以及是否有人做过。
答案1
理论上,有一个叫做 xmove 的程序可以做到这一点。我还没有让它运行得很好,但你可能更幸运。
答案2
另一个解决方案是xpra
。这screen
适用于 X 应用程序 - 您可以像控制台应用程序一样附加和分离 X 应用程序。
答案3
我认为除了 Plan 9 之外我从未见过这样做;我认为显示与它当前运行的位置有某种关联。
如果您正在运行控制台应用程序,则可以将 Screen 作为实用程序运行,这样您就可以暂停显示(在后台运行),然后稍后在另一个位置从另一个登录重新连接。
我个人会考虑运行 VNC 服务器(如果您运行的是 Ubuntu,则位于桌面共享中:系统->首选项->远程桌面),就像您提到的那样,并通过连接到中央工作站来控制您的不同访问需求。我也会使用 SSH 隧道来加密连接密码。
希望我理解您的使用场景...