我有一个远程服务器,我想在已经设置的网络命名空间中启动一些gui应用程序。我使用socat转发x会话。
socat exec:'ssh {REMOTE_HOST} rm -rf /tmp/.X11-unix/X1; socat -d -d -d -d unix-l\:/tmp/.X11-unix/X1111 -' unix:/tmp/.X11-unix/X0但是,如果我试图启动像eog这样的应用程序
DISPLAY=:1111 eog它失败的消息如下:
I No protocol specified
** (eog:9498): WARNING **: Could not open X display
Cannot open display:
Run 'eog --help' to see a full list of available command line options.socat马上就退出了。
发布于 2016-10-29 15:24:20
嗯,花了一天时间,但我想出了办法。
最后,我使用克普拉在远程服务器上启动X服务器,并将其附加到本地计算机中。
在本地运行xhost +并在远程服务器的socat调用中添加fork标志之后,socat方法也起了作用。但是,它从来没有持续地工作过(应用程序在发布期间挂起的可能性与不相同)。而且它从来不适用于像firefox这样更复杂的应用程序。当尝试使用dbus时,跟踪应用程序指向挂起的应用程序。
https://stackoverflow.com/questions/40313221
复制相似问题