vnc серый экран (16.04,ightvnc, xfce4): решено

Я использую VNC много лет, но я не знаю, почему это иногда случается. С новой машиной utuntu 16.04 я сначала попробовал использовать vino, она хорошо работает, но я решил, что она довольно медленная, поэтому я решил использовать quietvnc с оконным менеджером xfce4. Но я снова получаю этот "серый экран" (я испытал его раньше пару раз..).
Мой xstartup это:

#!/bin/sh

xrdb $HOME/.Xresources
xsetroot -solid grey
startxfce4 &

и файл журнала:

24/08/18 09:47:09 Xvnc version TightVNC-1.3.10
24/08/18 09:47:09 Copyright (C) 2000-2009 TightVNC Group
24/08/18 09:47:09 Copyright (C) 1999 AT&T Laboratories Cambridge
24/08/18 09:47:09 All Rights Reserved.
24/08/18 09:47:09 See http://www.tightvnc.com/ for information on TightVNC
24/08/18 09:47:09 Desktop name 'X' (kimchan:1)
24/08/18 09:47:09 Protocol versions supported: 3.3, 3.7, 3.8, 3.7t, 3.8t
24/08/18 09:47:09 Listening for VNC connections on TCP port 5901
Font directory '/usr/share/fonts/X11/75dpi/' not found - ignoring
Font directory '/usr/share/fonts/X11/100dpi/' not found - ignoring
/usr/bin/startxfce4: X server already running on display :1
Xlib:  extension "RANDR" missing on display ":1".
xfce4-session: Another session manager is already running

24/08/18 09:48:08 Got connection from client 129.254.132.39
24/08/18 09:48:08 Using protocol version 3.8
24/08/18 09:48:12 Full-control authentication passed by 129.254.132.39
24/08/18 09:48:12 rfbProcessClientNormalMessage: ignoring unknown encoding 16
24/08/18 09:48:12 rfbProcessClientNormalMessage: ignoring unknown encoding 22
24/08/18 09:48:12 rfbProcessClientNormalMessage: ignoring unknown encoding 21
24/08/18 09:48:12 rfbProcessClientNormalMessage: ignoring unknown encoding 15
24/08/18 09:48:12 Using zlib encoding for client 129.254.132.39
24/08/18 09:48:12 rfbProcessClientNormalMessage: ignoring unknown encoding -314
24/08/18 09:48:12 Enabling full-color cursor updates for client 129.254.132.39
24/08/18 09:48:12 rfbProcessClientNormalMessage: ignoring unknown encoding -223
24/08/18 09:48:12 Pixel format for client 129.254.132.39:
24/08/18 09:48:12   32 bpp, depth 24, little endian
24/08/18 09:48:12   true colour: max r 255 g 255 b 255, shift r 16 g 8 b 0
24/08/18 09:48:12   no translation needed
24/08/18 09:48:12 Using raw encoding for client 129.254.132.39
24/08/18 09:48:12 rfbProcessClientNormalMessage: ignoring unknown encoding 22
24/08/18 09:48:12 rfbProcessClientNormalMessage: ignoring unknown encoding 21
24/08/18 09:48:12 rfbProcessClientNormalMessage: ignoring unknown encoding 16
24/08/18 09:48:12 rfbProcessClientNormalMessage: ignoring unknown encoding 15
24/08/18 09:48:12 rfbProcessClientNormalMessage: ignoring unknown encoding -314
24/08/18 09:48:12 Enabling full-color cursor updates for client 129.254.132.39
24/08/18 09:48:12 rfbProcessClientNormalMessage: ignoring unknown encoding -223
24/08/18 09:48:12 rfbProcessClientNormalMessage: ignoring unknown encoding 16
24/08/18 09:48:12 rfbProcessClientNormalMessage: ignoring unknown encoding 22
24/08/18 09:48:12 rfbProcessClientNormalMessage: ignoring unknown encoding 21
24/08/18 09:48:12 rfbProcessClientNormalMessage: ignoring unknown encoding 15
24/08/18 09:48:12 Using zlib encoding for client 129.254.132.39
24/08/18 09:48:12 rfbProcessClientNormalMessage: ignoring unknown encoding -314
24/08/18 09:48:12 Enabling full-color cursor updates for client 129.254.132.39
24/08/18 09:48:12 rfbProcessClientNormalMessage: ignoring unknown encoding -223

Что здесь не так? Является X server already running on display :1 а ошибка? и как же RANDR отсутствует на дисплее:1? и что это за многие ignoring unkonwn encoding Сообщения? Помощь высоко ценится. Спасибо!

6 ответов

Я нашел https://bbs.archlinux.org/viewtopic.php?id=180965

и изменил мой xstartup на

#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
startxfce4 &

и это работает!

Рабочий конфиг для Gnome

      #!/bin/sh
#
# Config requires following packages:
# gnome-panel nautilus gnome-terminal metacity
#


export XKL_XMODMAP_DISABLE=1

unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
    
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey

gnome-session &
gnome-panel &

metacity &
gnome-terminal &

Ничего из вышеперечисленного не работало для меня. Я нашел предложение на https://wiki.archlinux.org/index.php/TigerVNC#Recommended_security_settings .

Попробуй это:

      vncserver -geometry ... -depth 24

Следуя другому ответу, за который проголосовали, я просто сказал:

#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
startxfce4 &

в моем ~/.vnc/xstartupфайл, и я смог подключиться локально. Дополнительно пришлось редактировать /etc/vnc/conf добавляя строку:

$localhost = "no";

чтобы позволить другим машинам в моей частной сети подключаться к серверу tigervnc (в отличие от только localhost клиентов).

Также убедитесь, что у вас установлен dbus-x11.

      sudo apt-get install dbus-x11

Согласно packages.debian.org : этот пакет содержит утилиту dbus-launch, которая автоматически запускает одну сеансовую шину D-Bus для каждого дисплея X11 для каждого пользователя. Если также установлен пакет dbus-user-session, он имеет приоритет над этим пакетом.

su -l имя_пользователя -c "(экспорт DISPLAY=:5; dbus-launch --exit-with-session; vncserver -geometry 1792x899 -depth 24:5)"

Команда «dbus-launch --exit-with-session» устанавливает переменные dbus так, чтобы они были специфичны для пользователя, запускающего vncserver, в противном случае он может получить их откуда-то еще или вообще не установить.DBUS_SESSION_BUS_PID=31898DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1003/bus

Их необходимо установить правильно, иначе вы получите пустой экран или вам будет отказано в доступе. Например, DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1003/bus, где 1003 — идентификатор пользователя.

Другие вопросы по тегам