Хочу все также проработать шаги, как поднимается TightVNC сервис на рабочей станции под управлением самой последней редакции Ubuntu, а именно Ubuntu 18.04 Desktop дабы можно было подключаться к ней из вне предварительно активировав L2TP+IPSec соединение со своих мобильных устройств. Что я имею ввиду, у меня на смартфоне настроено подключение через VPN к домашней сети, а уже после через приложение VNC Viewer я подключаюсь к сервисам. А VPN соединение в моем случае поднимается/поднято на Mikrotik. Я рад что открыл для себя данное оборудование. Mikrotik — это навороченный конструктор сетевого масштаба.
Ладно перейду к делу:
ekzorchik@srv-bionic:~$ sudo rm -rf /var/lib/dpkg/lock
ekzorchik@srv-bionic:~$ sudo rm -Rf /var/lib/apt/lists
ekzorchik@srv-bionic:~$ sudo apt-get update && sudo apt-get upgrade -y
На заметку: Испробовав различные способы, но поднять как сервис tightvnc у меня не удалось.
А потому поднимаю как делал для Ubuntu Xenial приложение x11vnc ориентируясь на заметку:
ekzorchik@srv-bionic:~$ sudo apt-get install x11vnc net-tools -y
ekzorchik@srv-bionic:~$ sudo x11vnc -storepasswd /etc/x11vnc.pass
Enter VNC password:
712mbddr
Verify password:
712mbddr
Write password to /etc/x11vnc.pass? [y]/n
y
Password written to: /etc/x11vnc.pass
На заметку: Пароль на VNC сервис не должен быть длиннее 8 символов.
ekzorchik@srv-bionic:~$ sudo nano /lib/systemd/system/x11vnc.service
[Unit]
Description=Start
x11vnc at startup.
After=multi-user.target
[Service]
Type=simple
ExecStart=/usr/bin/x11vnc
-auth /run/user/1000/gdm/Xauthority -loop -noxdamage -repeat -rfbauth
/etc/x11vnc.pass -rfbport 5900 -shared -display :0 -ncache 10
[Install]
WantedBy=multi-user.target
По параметрам:
ekzorchik@srv-bionic:~$ id
uid=1000(ekzorchik) gid=1000(ekzorchik) группы=1000(ekzorchik),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),116(lpadmin),126(sambashare)
— идентификатор в значении 1000 подставляется в путь /run/user/
1000/gdm/Xauthority
-rfbauth passwd-file → для аутентификации на сервисе использовать созданный файл с паролем
-password plain-password — для аутентификации использовать вот этот пароль
-forever → включено по дефолту
-loop → перезапуск x11vnc процесса
По каждой опции запуска можно посмотреть в мануале к утилите:
ekzorchik@srv-bionic:~$ x11vnc --help | grep 'ncache'
ekzorchik@srv-bionic:~$ sudo systemctl daemon-reload
ekzorchik@srv-bionic:~$ sudo systemctl enable x11vnc
Created symlink /etc/systemd/system/multi-user.target.wants/x11vnc.service → /lib/systemd/system/x11vnc.service
ekzorchik@srv-bionic:~$ sudo systemctl start x11vnc
ekzorchik@srv-bionic:~$ sudo systemctl status x11vnc
ekzorchik@srv-bionic:~$ sudo netstat -tulpn | grep x11vnc
tcp 0 0 0.0.0.0:5900 0.0.0.0:* LISTEN 8156/x11vnc
tcp6 0 0 :::5900 :::* LISTEN 8156/x11vnc
Пробую с основной системы под которой я сейчас работаю, а именно Ubuntu Trusty Desktop (Gnome Classic) использую утилиту Remmina подключиться к системе Ubuntu 18.04 Desktop по VNC. Подключение успешно. Скриншот ниже как раз говорит об этом.
На проверку попробую крайнюю меру — это отправить систему в перезагрузку и проверить снова:
ekzorchik@srv-bionic:~$ sudo reboot
и сервис x11vnc успешно запустился на системе где у меня настроено, что система автоматически загружается в пользовательскую сессии учетной записи ekzorchik, по сути отрабатывает настроенный AutoLogon. Работает.
Итого шаги по организации удаленного подключения к системе Ubuntu 18.04 Desktop разобраны и отражены в данной заметке. На этом у меня всё, с уважением автор блога Олло Александр aka ekzorchik.