1

我正在设置一些新的 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 可以正常打开。我可以启动 firefox、另一个 xterm 或其他需要 X 的应用程序,甚至 Fluxbox 也会出现,但它在当前状态下毫无价值,因为它没有连接到 X 会话。

通量盒在寻找什么?是否有一些我可以查看的日志文件给我一些线索?

谢谢,大卫

4

2 回答 2

1

CentOS/RHEL 6.4 及更高版本已升级 libX11 和 Xorg。

libX11 中的 $DISPLAY var 处理已更改。

这个 git commit 中特别描述了这一点:

http://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=f92e754297ec5fdb81068b56a4435026666224fa

我们现在在我们的 vnc 配置中使用这个脚本运行我们的通量盒:

/usr/bin/fluxbox -display "$DISPLAY.0"
于 2014-01-09T18:24:43.713 回答
0

OK, I think I've figured out the problem, so I'm answering my own question.

In VNC, I usually specify a display number. (Note, however, that the problem occurs even if vncserver uses the first available display number.) So, I start the vncserver as:

vncserver :17

This should create an X session where my $DISPLAY is set to :17.0, but in CentOS 6.4, the $DISPLAY is set to :17 instead. Apparently, unlike other window managers, fluxbox is unable to handle this inaccuracy. The problem, then, was that fluxbox was trying to connect to :17 and was unable to do so.

My solution, as suggested by someone answering a different problem, was to set $DISPLAY as part of the invocation of fluxbox. So, in my ~/.vnc/xstartup file, I have:

DISPLAY=$DISPLAY.0 startfluxbox &

Note that this may not work for other releases of CentOS, so you might wish to test the release of the box you are using before adding the DISPLAY=... setting to the command.

于 2013-11-07T18:35:01.040 回答