x11vnc настройка на debian 8 и ubuntu

Linux > x11vnc настройка на debian 8 и ubuntu
07.12.2016 21:48:02



Статья:

Недавно встала задача настроить удалённый доступ по VNC к рабочему столу Ubuntu, и ничто не предвещало беды, т.к. в последних версиях Ubuntu есть встроенный VNC-сервер Vino, который прекрасно работает. Но на Ubuntu 14.04(да и на debian 8) почему-то работать он отказался, подключение заканчивалось ошибкой » no supported authentication methods!», и никакие манипуляции с настройками проблему не решили.  Чтобы не тратить время зря, я решил воспользоваться альтернативным VNC-сервером — X11vnc. Давайте разберёмся, как его настроить.

Первым делом давайте удалим Vino, всё равно корректной работы от него добиться не удаётся, да и в функциональности X11vnc  он несколько проигрывает.

 apt-get remove vino

Теперь установим X11vnc (необходимо подключение к сети Интернет), всё очень просто — вводим в терминале команду:

sudo apt-get install x11vnc

Теперь зададим пароль, который будет запрашиваться при подключении по VNC. Для этого вводим:

x11vnc -storepasswd

Вводим пароль два раза, после соглашаемся на запись в файл. Пароль будет сохранён в файл /home/USER/.vnc/passwd (где «USER»  — имя пользователя, под которым мы совершаем настройку, у меня, например, пользователь именуется «test»).

Запустим от пользователя  x11vnc &

Проверить на каком порту  запустилось

netstat -nltp

В общем-то уже можно пользоваться, но это будет не слишком удобно по нескольким причинам:

  • X11vnc не будет запускаться при загрузке системы, это не удобно, так как каждый раз для удалённого подключения придется вручную запускать VNC сервер, а это иногда просто не возможно.
  • Если за удалённым компьютером не зарезервирован IP-адрес, то будет непонятно, куда подключаться (или пробрасывать порт),  и каждый раз перед подключением нам каким-то образом придётся узнавать IP-адрес удалённого компьютера.

Давайте решим данные проблемы.

Автозагрузка X11vnc на Ubuntu

Тут  всё тоже очень просто. Первым делом с помощью встроенного текстового редактора Gedit создадим файл /etc/init/x11vnc.conf, для этого в терминале вводим:

sudo gedit /etc/init/x11vnc.conf

По запросу вводим пароль администратора. Откроется текстовый редактор, в тело открытого файла пишем:

start on login-session-start
script
x11vnc -dontdisconnect -display :0 -auth /var/run/lightdm/root/:0 -notruecolor -noxfixes -shared -forever -rfbport 5900 -bg -o /var/log/x11vnc.log -rfbauth /home/USER/.vnc/passwd
end script

В предпоследней строчке вместо «USER» необходимо указать имя пользователя, под которым выполнялась настройка, у меня это «test».

Проверяем правильность ввода и жмём сохранить.

Теперь при включении удалённого компьютера X11vnc будет включаться автоматически. Что важно — запуск сервера будет происходить до авторизации пользователя.

Подключение к удалённому компьютеру по VNC с Windows

Всё настроено, осталось только подключиться. Для этого нам понадобится VNC-клиент. Я использую UltraVNC Viewer или tightvnc Viewer