我正在设置一些新的VNC服务器。我已经将此设置与CentOS 6.3配合使用,但我不确定这种差异是否真的存在问题。
我提供的一个窗口管理器是fluxbox,但是当我启动它时,我总是得到以下内容:Error: Couldn't connect to XServer
。这是我的设置:
fluxbox: fluxbox-1.1.1-5.el6.x86_64
vnc : tigervnc-server-1.1.0-5.el6_4.1.x86_64
OS : CentOS 6.4
请注意,我可以启动其他窗口管理器:Gnome,KDE,openbox,xfce4等。
我摧毁了我的〜/ .vnc / xstartup脚本,所以它只加载一个xterm。然后,我尝试运行startfluxbox &
,但仍然收到错误。显然,VNC正在工作,因为我的xterm打开了OK。我可以启动firefox,另一个xterm或其他需要X的应用程序,甚至还有fluxbox,但它在当前状态下毫无价值,因为它没有连接到X会话。
什么是fluxbox寻找?我可以看一些日志文件给我一些线索吗?
谢谢, 大卫
答案 0 :(得分:0)
好吧,我想我已经找到了问题所以我正在回答我自己的问题。
在VNC中,我通常指定一个显示号码。 (但请注意,即使vncserver使用第一个可用的显示号码,也会出现问题。)因此,我将vncserver启动为:
vncserver :17
这应创建一个X会话,其中我的$ DISPLAY设置为:17.0
,但在CentOS 6.4中,$ DISPLAY设置为:17
。显然,与其他窗口管理器不同,fluxbox无法处理这种不准确性。那么问题是,fluxbox试图连接:17
而无法这样做。
根据回答不同问题的人的建议,我的解决方案是将$ DISPLAY设置为调用fluxbox的一部分。所以,在我的~/.vnc/xstartup
文件中,我有:
DISPLAY=$DISPLAY.0 startfluxbox &
请注意,这可能不适用于其他版本的CentOS,因此您可能希望在将DISPLAY=...
设置添加到命令之前测试您正在使用的框的版本。< / p>
答案 1 :(得分:0)
CentOS / RHEL 6.4及更高版本升级了libX11和Xorg。
$ DISPLAY var处理在libX11中已更改。
这个特别是在这个git commit中描述的:
http://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=f92e754297ec5fdb81068b56a4435026666224fa
我们现在在我们的vnc配置中使用此脚本运行fluxbox:
/usr/bin/fluxbox -display "$DISPLAY.0"