Первым делом удаляем VNC-сервер дефолтного значения в моей системе Ubuntu 12.04.5 Desktop Presice amd64, т. к. он слишком убог и решении поставленной задачи — сама задача превращается в сущий ад подбора правильных настроек, а потому я остановил свой выбор на бесплатном (а платный я бы даже и не использовал) сервере x11vnc, с ним у меня сложились более теплые воспоминания, т. к. все заработало с первого раза.
Наглядное видео настройки VNC сервера по данной ссылке:
ekzorchik@desktop:~$ sudo rm -Rf /var/lib/apt/lists
ekzorchik@desktop:~$ sudo apt-get update && sudo apt-get upgrade -y
ekzorchik@desktop:~$ sudo apt-get remove vino -y
Устанавливаю x11vnc в систему из дефолтных репозитариев:
ekzorchik@desktop:~$ sudo apt-get install x11vnc -y
Генерирую пароль для доступа к VNC серверу текущей системы:
ekzorchik@desktop:~$ x11vnc -storepasswd
Enter VNC password: 712mbddr@
Verify password: 712mbddr@
Write password to /home/ekzorchik/.vnc/passwd? [y]/n y
Password written to: /home/ekzorchik/.vnc/passwd
После этого пароль по-умолчанию сохраняется в /home/USERNAME/.vnc/passwd (где USERNAME — имя пользователя, под которым вы выполнили команду).
Далее редактирую конфигурационный файл на автоматическую загрузку в процессе загрузки системы с нужными опциями:
ekzorchik@desktop:~$ sudo nano /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/ekzorchik/.vnc/passwd -no6
end script
После не забываем сохранить внесенные изменения.
А теперь поясню значение указанных выше опций:
-auth /var/run/lightdm/root/:0
→ путь к ссылке на X-сессию.-rfbauth /home/ekzorchik/.vnc/passwd
→ путь к файлу с паролем для входа на сервер, можно переместить в любое место лишь бы был доступ на чтение.-forever
→ после запуска x11vnc ждет подключение клиента, а по завершении подключения — завершается свою работу-display :0
→ явно указываем используемый дисплей-rfbport 5900
→ явно указываем используемый порт для VNC сервера-bg
→ запускать в фоне.-o /var/log/x11vnc.log
→ лог работы
После перезагружаем сервер и проверяем доступность VNC сервера:
ekzorchik@desktop:~$ sudo shutdown -r now
после перезагрузки проверяю, а запущен ли сервис x11vnc:
ekzorchik@desktop:~$ sudo netstat -tulpn | grep x11vnc
tcp 0 0 0.0.0.0:5900 0.0.0.0:* LISTEN 1358/x11vnc
Как видно, сервер запущен и ожидает подключения.
Настраиваю подключение к данной системе с другой системе, к примеру в роли клиента VNC выступит пакет Remmina (версия 0.9.99.1) на Ubuntu 12.04.5 Precise Desktop amd64 с рабочим окружением Gnome Classic:
Приложения — Интернет — Клиент удаленного рабочего стола Remmina — Соединение — Создать и заполняю карточку подключения к системе где настроен сервис x11vnc:
Название: 10.7.9.209
- Протокол: VNC — Virtual Network Computing
вкладка «Основные»
- Сервер: 10.7.9.209
- Пароль: 712mbddr@
- Глубина цвета: High color (16 бит)
- Качество: Хорошее
После нажимаю «Сохранить» и «Подключиться», в результате произойдет подключение к удаленной системе где в роли VNC сервиса выступает пакет x11vnc
Как видно подключение успешно прошло.
Посмотреть список всех опций:
ekzorchik@desktop:~$ x11vnc -opts
ну и не забываем про мануал: man x11vnc
Итого все работает. Цель которую я преследовал в показе всех шагов достигнута, теперь у Вас есть не только доступ через безопасную консоль SSH, то и визуализированный доступ (если конечно он Вам нужен) к рабочей станции под управлением Ubuntu Precise редакции Desktop, как сделано у меня. Но я в свою очередь не так часто пользуюсь GUI подключение, все же консоль дает намного больше удовлетворения и практического смысла, впрочем каждому своё. На этом я прощаюсь с Вами читатели моего блога и канала, с уважением — Олло Александр aka ekzorchik.