假设我有几台机器,都连接到显示器并且都运行 Linux。我希望能够执行以下操作:在计算机 A 上启动应用程序,然后根据需要将其窗口移动到计算机 B。一旦应用程序窗口被移动,它 B 应该能够像任何其他窗口一样使用它(类似于 ssh 转发)。现在 A 和 B 应该能够将窗口放回给 A。
我发现了xpra
,但我认为这不是我需要的。它可以让我打开远程窗口,但据我所知,我无法在计算机之间移动窗口。
有没有什么工具可以实现我想要的功能? X程序的世界很大,所以应该有一些东西。
答案1
作为戴夫说,xpra
非常适合此目的。您需要xpra
在应用程序所在的系统上启动一个会话跑步(不显示):
xpra start :20
(20
必须是一个免费的 X 显示号码 - 我通常从 20 开始,为多个本地 X 服务器和使用 SSH 传入转发的 X 会话留出空间。)
然后您在显示屏 20 上启动您的应用程序:
DISPLAY=:20 myapp &
要显示您的应用程序,您可以使用以下命令附加到它xpra
:
xpra attach :20
您也可以通过 SSH 执行此操作:
xpra ssh:user@host:20
您可以在一个xpra
会话中运行多个应用程序。xpra
提供了大量的可能性,包括转发 PulseAudio、共享剪贴板、转发文件......
默认情况下,从一台机器连接会将会话与任何其他机器分离,因此您不需要记住分离。