Получение черного экрана при соединении с x11vnc

Я пытаюсь выполнить x11vnc сервер так, чтобы кто-то мог соединиться удаленно с моим компьютером, но я испытываю затруднения, заставляя его работать. Я использую Ubuntu 14.04 и тестирую сервер VNC при помощи Vinagre для соединения на localhost. Я получаю приглашение ко входу в систему, и оно принимает пароль, но затем я просто получаю черный экран. Это, кажется, не редкая проблема, но я попробовал тонны решений, которые я нашел через Google, и ни один из них не работал на меня. Журнал x11vnc не дает признака ошибок, таким образом, я не знаю, где начать выяснять что не так.

Моя команда x11vnc:

x11vnc -xkb -noxrecord -noxfixes -noxdamage -display :1 -auth /var/run/lightdm/root/:1 -usepw -forever -o /var/log/x11vnc.log

Журнал x11vnc:

11/08/2015 15:14:43 Got connection from client 127.0.0.1
11/08/2015 15:14:43   other clients:
11/08/2015 15:14:43 Normal socket connection
11/08/2015 15:14:43 Disabled X server key autorepeat.
11/08/2015 15:14:43   to force back on run: 'xset r on' (3 times)
11/08/2015 15:14:43 incr accepted_client=5 for 127.0.0.1:48227  sock=7
11/08/2015 15:14:43 Client Protocol Version 3.8
11/08/2015 15:14:43 Protocol version sent 3.8, using 3.8
11/08/2015 15:14:43 rfbProcessClientSecurityType: executing handler for type 2
11/08/2015 15:14:46 rfbProcessClientNormalMessage: ignoring unsupported encoding type Enc(0xFFFFFEFE)
11/08/2015 15:14:46 Enabling NewFBSize protocol extension for client 127.0.0.1
11/08/2015 15:14:46 rfbProcessClientNormalMessage: ignoring unsupported encoding type Enc(0x574D5669)
11/08/2015 15:14:46 rfbProcessClientNormalMessage: ignoring unsupported encoding type Enc(0xFFFFFEFD)
11/08/2015 15:14:46 Enabling full-color cursor updates for client 127.0.0.1
11/08/2015 15:14:46 Enabling X-style cursor updates for client 127.0.0.1
11/08/2015 15:14:46 rfbProcessClientNormalMessage: ignoring unsupported encoding type Enc(0xFFFFFEFF)
11/08/2015 15:14:46 Using tight encoding for client 127.0.0.1
11/08/2015 15:14:48 client useCopyRect: 127.0.0.1 -1
11/08/2015 15:14:48 client_set_net: 127.0.0.1  0.0001

Мой текущий ~/.vnc/xstartup (я попробовал набор изменений):

#!/bin/sh

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
vncconfig -iconic &

gnome-panel &
gnome-settings-daemon &
metacity &
nautilus &
gnome-terminal &
2
задан 12 August 2015 в 01:26

3 ответа

В Вашем сообщении существуют некоторые противоречия. x11vnc не читает ~/.vnc/xstartup и обычно не соединяется с -display :1.

Обычно, у Вас есть стандартный сервер X11, уже работающий на Вашем экране, и это демонстрирующееся:0. Это показывает Ваш рабочий стол гнома на мониторе. Вы затем выполняете x11vnc для копирования то, что находится на этом реальном дисплее к удаленному соединению.

, Возможно, Вы означаете использовать tightvncserver, который создает новый невидимый кадровый буфер, в котором это тянет и также копирует в удаленное. Это читает ~/.vnc/xstartup.

0
ответ дан 3 December 2019 в 00:07

Если активный виртуальный терминал отличается от того выполнения X-сервера в (например, что, кажется, Ваш случай: Вы тестируете от того же компьютера, но Ваши vnc выполнения средства просмотра на сессии на другом VT, чем X-сервер, с которым Вы хотите соединиться), это не работает. (У меня просто были подобные проблемы, которые не в состоянии к VT-переключателю больше, но желанию добраться для взаимодействия с моим выполнением X сессий.)

Это объяснено там: http://www.karlrunge.com/x11vnc/faq.html#faq-linuxvc . Кавычка:

Q-108: я использую Виртуальные терминалы Linux (VT's) для реализации 'Быстрого переключения между пользователями' между сессиями пользователей (например, Betty находится на Ctrl-Alt-F7, Bobby находится на Ctrl-Alt-F8, и Sid находится на Ctrl-Alt-F1: они используют те нажатия клавиш для переключения между их сессиями.) То, каким образом представление в средстве просмотра VNC, соединяющемся с x11vnc, является или абсолютно черным, не обновляет, или пиксели, испорченные, если X сессий x11vnc не присоединены, находится в активном VT?

Это, кажется, имеет отношение, как приложения (процессы X-сервера в этом случае) должны "играть приятно", если они не находятся на активном VT (иногда названный VC для виртуальной консоли.) Таким образом, они не должны читать из клавиатуры или мыши или управлять видеодисплеем, если у них нет активного VT. Учитывая, что это появляется XGetImage (), вызов должен в конечном счете получить данные кадрового буфера из самого видеооборудования, это сделало бы опрос x11vnc смысла, не будет работать, если X сессий не имели активный контроль над VT.

, кажется, нет простого способа работать вокруг этого. Даже xwd (1) не работает в этом случае (попробуйте его.) Что-то должно было бы быть сделано на более низком уровне, сказать в X-сервере XFree86/Xorg. Кроме того, использование Теневого Кадрового буфера (копия видео кадрового буфера сохранена в оперативной памяти), кажется, не решает проблему (в последний раз проверенный 2007.)

, Если никто не сидит на рабочей станции и Вы просто хотите удаленно переключить VT на тот, связанный с Вашими X сессиями (таким образом, x11vnc может опросить его правильно), можно использовать chvt (1) команда, например, "chvt 7" для № 7.

VT
0
ответ дан 3 December 2019 в 00:07

Я обошел это путем добавления моего пароля в профиле перед совершающим нападки подключением по сравнению с ответом на всплывающее окно после совершающего нападки подключения.

существует также поле там для имени пользователя, которое бросило меня, потому что я не видел ссылки на имя пользователя на установке хоста, но я оставил это незаполненное, просто добавил пароль, и это сделало это.

Быть реальным, быть трезвым.

0
ответ дан 3 December 2019 в 00:07

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

Похожие вопросы: