我在本地一台没有 root 权限的机器上。 X 转发已禁用。
我在没有屏幕的机器上远程运行一个进程,使用Xvfb
虚拟帧缓冲区模拟 X 服务器,但丢弃任何显示的图像。这相当有效。
现在,有些东西不起作用,我需要通过查看 X 屏幕进行调试。我确实Xvfb
截取了屏幕截图xwd -display :99 -root -out /tmp/screenshot.xwdump
,但按顺序查看其中许多内容非常复杂。
有没有办法从我的客户端连接到服务器,然后连接到帧缓冲区以便在本地显示远程 X 窗口?
这可能是第二个ssh
渠道。理想情况下,X 程序应该在断开连接后继续运行,如果可能的话,我希望能够在第二次连接之前启动它(想想spice
)。
我只有到服务器的传出连接,并且只有端口 22。在两台机器上根权限都不可用。
PS:这个问题类似于通过 ssh 运行程序但我的要求是,不能在客户端或服务器上安装任何程序root
,这似乎排除了xpra
(那里给出的答案),除非我找到一种简单的方法来使用它。
答案1
xpra
是你的朋友:http://xpra.org/。安装xpra
在服务器和客户端上。
xpra
通过 ssh启动服务器
xpra start-desktop ssh:user@server:XVFBDISPLAY --use-display --start-via-proxy=no
或者:如果您已经登录到服务器,您可以使用以下命令启动 xpra 服务器
xpra start-desktop :XVFBDISPLAY --use-display --start-via-proxy=no
xpra
从客户端开始
xpra attach ssh:server:XVFBDISPLAY
您可以稍后再分离并重新连接:
xpra detach ssh:server:XVFBDISPLAY
(替换XVFBDISPLAY
为 的显示编号Xvfb
。)