4

我正在运行 Xorg 并且我的 (Qt) 程序会自行守护进程。现在我注销并重新启动 X 服务器。当我再次登录时,我的进程仍然运行良好,但我看不到它。

有没有办法将 X 服务器的新化身附加到旧进程?如果我不重新启动整个服务器,而是注销并再次登录,有没有办法查看旧进程?

谢谢

4

4 回答 4

3

xpra 应该可以满足您的要求。它还可以启动 tcp 连接(不需要 ssh)。在您的服务器上启动它:

xpra start :100 --start-child=xterm --bind-tcp=0.0.0.0:10000

将其连接到您的客户端:

xpra attach tcp:SERVERHOST:10000

您也可以使用 mac 或 windows xpra 应用程序来连接它。我在win7和osx10.10.2上试过。下载链接:

windows:https ://www.xpra.org/dists/windows/Xpra_Setup.exe mac:https ://www.xpra.org/dists/osx/x86/Xpra.dmg

于 2015-12-17T15:45:44.243 回答
0

使用Xpra之类的东西:它允许您在屏幕外 X11 服务器上运行应用程序,您可以在需要时重新连接到该服务器,也可以从远程机器上运行应用程序。它也支持“无缝”会话,因此窗口看起来就像本地窗口一样。

实际例子:

xpra start :10 --start-child=/bin/YOURAPP

然后每当您想重新连接时(比如在 X11 服务器重新启动后):

xpra attach :10

或者从远程机器:

xpra attach ssh://THESERVERHOSTNAMEORIP/10

于 2011-12-26T10:41:46.220 回答
0

与 X 服务器的连接丢失后,将无法重新连接。

有一个名为 xmove 的 xserver 代理,但它已被弃用,并且不能与现代工具包可能使用的几个较新的 X 扩展一起使用。

您可以尝试在另一个虚拟 X 服务器中运行您的进程,例如 xvnc 或(更好的)NX。NX 是 NoMachine 开发的 X 代理技术。NX 服务器也有免费的实现。如果您在这样的服务器中运行程序,则可以从任意图形环境附加和分离它。

于 2008-11-24T17:45:52.150 回答
0

这些家伙说这是可能的,我还没有测试过那个功能......

一探究竟 !

于 2008-11-24T18:03:30.787 回答