X11 通过 Gnu 屏幕转发,有可能吗?

San*_*dro 35 ssh command-line gnu-screen

我经常使用 GNU Screen。但是,我一直试图弄清楚当我 ssh-ing 时是否有办法让 X11 应用程序在屏幕上转发(这是一个词吗?)。目前,如果我尝试通过屏幕运行“gedit”,它会在我的“服务器”计算机上打开,而不是在我的客户端上打开。如果我在屏幕外做同样的事情,那么一切都很好。但是我也希望当我使用屏幕时一切都很好!

谢谢!

PS:我在谷歌上搜索了这个问题,我看到提到 xmove,但我似乎无法在我的 ubuntu 上找到包含 xmove 的包。(Ubuntu 10.10)

Kee*_*ook 34

要手动执行此操作,一旦您通过 SSH 登录,但在重新连接到屏幕之前,请检查您的 DISPLAY 环境变量:

echo $DISPLAY
Run Code Online (Sandbox Code Playgroud)

重新附加到屏幕后,显式设置环境变量:

export DISPLAY=:N.0
Run Code Online (Sandbox Code Playgroud)

其中:N.0echo附加前显示的内容。这不会是完美的,因为某些应用程序可能期望与会话 D-Bus 通信,而通过 SSH 连接发送它有点复杂。


小智 13

存储库中有一个名为 xpra 的程序,它就像 x11 的 gnu 屏幕。使用它并不难:

X 持久远程应用程序

Xpra 为您提供 GNU Screen for X 应用程序的功能。

它允许用户在他们的本地机器上查看远程 X 应用程序,并在不丢失正在运行的应用程序状态的情况下从远程机器断开和重新连接。

  • 我已经写过如何将 xpra 与 Screen 实际集成以实现控制台和 X11 应用程序持久性:http://krlmlr.github.io/integrating-xpra-with-screen/。为我工作。 (2认同)

Dus*_*and 7

Byobu 会自动重新附加 ssh 和 gpg 代理。我可以让它重新附加显示变量,如果这对你有帮助的话......