我有一台Ubuntu的Linux机器,我已经login,X服务器正在运行(它是通过loginpipe理器像gdm)。 我可以通过SSH访问这台机器。 我的目标是在这台机器上启动x11vnc并将其连接到已经运行的X服务器上。
当我进入机器并启动x11vnc时,它说:
X11 was unable to open the X DISPLAY ":0", it cannot continue.
如果我没有物理访问权限并且Xserver已经启动,如何在远程机器上启动x11vnc。 我想这样做的原因是因为远程机器有几个窗口打开,我想工作。
编辑:我也试过x11vnc -find。 这一次它没有给我这个错误信息,并能够检测到客户端连接:
Got connection from client xxxx ... wait_for_client: find display cmd failed wait_for_client: bad reply ' '
所以看来命令只是延迟了不可避免的。
谢谢,
我在gentoo kde桌面上find了这个工程,当kde已经在运行的时候,这个工程很好用。
x11vnc -xauth / var / run / xauth / A:0-bHJFac -display:0 -passwd“password”-forever -shared
我正在使用GNOME,所以我只是简单地给x11vnc x权限文件gnome使用。 这是通过:
x11vnc -xauth /var/lib/gdb/:0.Xauth -display :0
为了我
Description: Debian GNU/Linux 6.0.5 (squeeze) Release: 6.0.5 Codename: squeeze apt-cache policy gdm3 gdm3: Installiert: 2.30.5-6squeeze4
这工作得很好,即使我通过SSH远程login:
su -c "x11vnc -auth /var/run/gdm3/auth-for-username*/database -display :0 -forever -passwd foo"
编辑:你也可以使用例如ssvnc在ssh上使用vnc。 只需像上面那样启动x11vnc,但使用“-localhost”选项:
su -c "x11vnc -auth /var/run/gdm3/auth-for-username*/database -display :0 -forever -passwd foo -localhost"
那么你可以点击ssvnc脚本中的“Use SSH”,它将通过ssh连接,所以x11vnc不需要全局监听!
我以非常迂回的方式解决了这个问题,所以我只想详细说明我是如何做到的,这是非常不理想的。 其他人已经给出了优雅和短的解决scheme。
我面临的问题是,x11vnc拒绝通过SSH启动,说它没有find任何graphics显示。 所以我的解决scheme是….
首先,通过SSH作为根用户,我在机器上启动了一个TigerVNC服务器:1
# vncserver :1
(从根开始是愚蠢的)
然后我使用我的客户端计算机上的TigerVNC连接到此显示器
Connect to: abcd:1
现在我在GUI中(非常愚蠢)。 我打开了一个terminal,并以我的原始用户身份启动x11vnc
# sudo -u milind x11vnc -many -display :0
现在我能够
Connect to: abcd:0
完成! 尽pipe以非常迂回的方式。