2014-10-03 20-55-47 Скриншот экрана

Настройка VNC на Ubuntu 14.04


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

 Установка и настройка X11vnc на Ubuntu 14.04

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

Настройка VNC на Ubuntu

Удалим Vine

Для этого открываем терминал и вводим:

sudo apt-get remove vino

По запросу вводим пароль администратора, подтверждаем удаление.

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

sudo apt-get install x11vnc

Подтверждаем установку пакета.  Загрузка и установка займёт около одной минуты, ждём завершения.

Настройка VNC на Ubuntu

Соглашаемся с записью пароля в файл

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

x11vnc -storepasswd

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

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

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

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

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

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

sudo gedit /etc/init/x11vnc.conf
Настройка VNC на Ubuntu

Проверяем правильность, жмём «Сохранить»

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

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

Теперь давайте разберёмся с IP-адресом.

Настройка VNC на Ubuntu

Жмём на «стрелки»

Жмём на иконку передачи данных в правом верхнем углу экрана и в открывшемся списке выбираем «Изменить соединение».

Настройка VNC на Ubuntu

Изменим способ настройки

В открывшемся окне выбираем используемое соеденение (у меня это «Проводное соединение 1») и правее жмём «Изменить».

В открывшемся окне переходим на вкладку «Параметры IPv4», выбираем из выпадающего списка способ настройки «Вручную».

Ниже жмём «Добавить» и прописываем сетевые настройки, которые соответствуют настройкам DHCP-сервера Вашего маршрутизатора (в столбце «Адреса» будет постоянный IP-адрес удалённого компьютера).

Настройка VNC на Ubuntu

Когда все сетевые параметры вписаны, сохраняем

После прописания настроек жмём «Сохранить», после перезагружаем компьютер.

На этом настройка удалённого доступа на Ubuntu закончена — теперь при включении компьютера у нас автоматически запустится настроенный VNC-сервер, и мы сможем удалённо подключиться.

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

Всё настроено, осталось только подключиться. Для этого нам понадобится VNC-клиент. Я использую UltraVNC Viewer (скачать можно прямо с официального сайта бесплатно — ссылка, зеркало — ссылка (v. 1.2.0.3)).

После загрузки запускаем *.exe файл и, следуя инструкциям установщика, инсталлируем программу. После завершения запускаем.

Настройка VNC на Ubuntu

Указываем IP сервера

Настройки очень простые: в поле  «VNC Server:» вписываем IP-адрес  (который получает удалённый компьютер) и жмём «Connect». После будет запрошен пароль — вводим пароль и жмём «Log On».

Настройка VNC на Ubuntu

Подключение произошло

Произойдёт подключение к удёлённому компьютеру, можно пользоваться 🙂

 

P.S.

Почему не заработал Vino — остаётся загадкой.. С такими же настройками на прошлых версиях Ubuntu всё работало. Если кому-нибудь известна причина — пишите в комментариях.

 


AboutAG

  • Михаил

    Почему не работает VINO и как это исправить, вот: vasily86.livejournal.com/10378.html

    • AG

      Спасибо за ссылку, думаю многим пригодится.

    • Александр

      То есть, в статье по ссылке рекомендуют просто отключить шифрование? 🙂
      Кардинально….

      • AG

        Тяжёлые времена требуют жёстких решений) На мой взгляд, проще всего использовать X11vnc.

  • kopal

    По-моему вполне приемлемое решение.

    gsettings set org.gnome.Vino require-encryption false

    ПО крайней мере на MINT17 у меня X11 так гладко не заработал, как написано в статье. Пришлось вернуться в VIno )

  • kopal

    discourse.ubuntu.com/t/remote-desktop-sharing-in-ubuntu-14-04/1640

  • sandvm

    В gui интерфейсе в настройках есть пункт «способ передачи файлов», где среди способов есть способ UltraVNC. Не подскажете, какой параметр в конфиге задать для этого способа?

  • sandvm

    В ubuntu 15.04 у меня к сожалению в Вашем варианте не заработало.
    (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)

    1. Не создается лог в /var/log/x11vnc.log — заменил на /home/USER/.vnc/x11vnc.log
    2. Далее лог создался — в нём ошибка примерно следующего вида:

    24/07/2015 00:23:00 XOpenDisplay(«:0») failed.
    24/07/2015 00:23:00 Trying again with XAUTHLOCALHOSTNAME=localhost …
    No protocol specified
    24/07/2015 00:23:00 ***************************************
    24/07/2015 00:23:00 *** XOpenDisplay failed (:0)

    Заменил -auth /var/run/lightdm/root/:0 на -auth /home/USER/.Xauthority

    (взял отсюда: http://www.karlrunge.com/x11vnc/faq.html#faq-xperms)
    из терминала заработало!!!

    3. Чтобы работала передача файлов при пользовании UltraVNC viewer необходимо добавить опцию
    -ultrafilexfer

    4. Внимание! Пароль для подключения из винды к x11vnc должен быть не более 8 знаков!

    В виндовом вьювере и в виндовом же сервере почему-то пропускает и больше, но тут при выполнении
    x11vnc -storepasswd и записи пароля из 9 знаков виндовый UltraVNC viewer выдает ошибку
    «VNC authentication failed!» В общем пароль корректно отработал при 8 и менее знаках длины.

    5. Сделал скрипт как у Вас, однако не стартует при загрузке. (Почему не знаю — не нашел где это можно посмотреть)

    6. Сделал через «Автоматически запускаемые программы» следующей командой:

    x11vnc -dontdisconnect -display :0 -auth /home/USER/.Xauthority -notruecolor -noxfixes -shared -forever -rfbport 5900 -bg -o /home/USER/.vnc/x11vnc.log -rfbauth /home/USER/.vnc/passwd -ultrafilexfer

    Кривовато — но работает. Для моих задач хватит, но почему не заработал скрипт автозагрузки непонятно. Может кто подскажет?

  • Можно писать просто apt вместо apt-get

  • Дмитрий Мышков

    Это все супер, а как сделать, что бы подключение шло на то же tty, где сидит и пользователь (порт 0)? 🙂
    А то ведь копипасты про внц тонна по инету, как не набирай тему.

  • Сергей Иванович

    omenra@omenra-K52JK:~$ sudo apt-get install x11vnc
    Чтение списков пакетов… Готово
    Построение дерева зависимостей
    Чтение информации о состоянии… Готово
    Некоторые пакеты невозможно установить. Возможно, вы просите невозможного,
    или же используете нестабильную версию дистрибутива, где запрошенные вами
    пакеты ещё не созданы или были удалены из Incoming.
    Следующая информация, возможно, поможет вам:

    Пакеты, имеющие неудовлетворённые зависимости:
    x11vnc : Зависит: x11vnc-data (= 0.9.13-1.2) но 0.9.13-1.2build1 будет установлен
    E: Невозможно исправить ошибки, у вас отложены (held) битые пакеты.

    вот как это понимать?
    (xubuntu 16.04)

  • Александр

    Спасибо тебе, добрый человек! Эта страничка долгое время у меня в закладках…

  • Александр

    В 16.04 автоматом не запускается при запуске

  • Александр Т

    Не возможно осуществить ввод, ни с клавиатуры, ни какие-либо действия мышью, хотя курсор двигается.