Fluxbox не может подключиться к XServer — CentOS 6.4

Я настраиваю несколько новых серверов 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.

Что ищет Fluxbox? Есть ли какие-то файлы журналов, которые я могу посмотреть, чтобы дать мне некоторые подсказки?

Спасибо, Дэвид


person tanager    schedule 06.11.2013    source источник


Ответы (2)


CentOS/RHEL 6.4 и выше обновили libX11 и Xorg.

Обработка переменной $DISPLAY изменилась в libX11.

Это, в частности, описано в этой фиксации git:

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

теперь мы запускаем наш fluxbox с этим скриптом в наших конфигурациях vnc:

/usr/bin/fluxbox -display "$DISPLAY.0"
person Eric N.    schedule 09.01.2014

Хорошо, я думаю, что понял проблему, поэтому я отвечаю на свой вопрос.

В 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=... в команду.

person tanager    schedule 07.11.2013