Захотелось мне сделать удаленный доступ в пределах домашней сети с одной Xubunt-ы к другой. Делаем через VNC. Надо иметь ввиду, что Xubunta использует LightDM, а не GDM, например.
Часть первая: на машине, к которой будем подключаться - она является сервером VNC.
Первое, что надо сделать, присвоить будущему серверу статичный IP, например,
192.168.0.3
Если установлен сервер vino, то его удаляем
sudo apt-get purge vino
и устанавливаем другой
sudo apt-get install x11vnc
генерируем файл с паролем
sudo x11vnc -storepasswd
!!! Вот это вот для XU 14.04:
потом вот сюда
sudo mousepad /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/username/.vnc/passwd
end script
где вместо username пишем своего юзера под которым щас залогинены
В случае, когда два компа имеют одинаковые размеры экрана, в просмотрщике будут отображаться полосы прокрутки, это неудобно иногда. Скажем серверу, чтоб он транслировал меньший размер экрана опцией
-scale 1024x768
!!! А вот это для XU 16.04:
в файлик
sudo mousepad /lib/systemd/system/x11vnc.service
пишем строки
[Unit]
Description=Start x11vnc at startup.
After=multi-user.target
[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -display :0 -auth /var/run/lightdm/root/:0 -shared -forever -loop -noxdamage -repeat -rfbport 5900 -bg -o /var/log/x11vnc.log -rfbauth /home/kofesutra/.vnc/passwd[Install]
WantedBy=multi-user.target
где подставляем своего юзера.
Далее делаем автозапуск
sudo systemctl daemon-reload
sudo systemctl enable x11vnc.service
sudo systemctl start x11vnc.service
и проверяем
sudo systemctl status x11vnc.service
!!! Далее нет различий:
Теперь VNC-сервер будет запускаться во время загрузки компа, причём даже до окна логина, что очень даже доставляет - можно по удалёнке перезагружать машину и логиниться.
У меня ещё надо было открыть порт для vnc
sudo ufw allow 5900
Ребут.
Копируем файл
~/.vnc/passwd
на флешку.
--------------------
Часть вторая: на машине, с которой будем подключаться - она является клиентом VNC.
Устанавливаем vnc-клиент
sudo apt-get install xvnc4viewer
Копируем файл passwd с флешки по тому же пути
~/.vnc/passwd
Проверяем права доступа к файлу (надо разрешить чтение, ежели чо).
В случае, когда надо сделать доступ ко второй удалённой машине, то есть файл passwd уже имеется, переименуем новый (старый passwd оставляем в покое!) в passwd_2, к примеру, и на последнем этапе не забудем указать именно его.
И, напоследок, сделаем кнопку запуска vnc-клиента:
создаём файл vnc-viewer.sh и копипастим в него
#!/bin/bash
vncviewer 192.168.0.3:0 -passwd ~/.vnc/passwd
Можно открывать уделённый рабочий стол не в полном окне (появятся полосы прокрутки). Файл запуска будет выглядеть, например, так
#!/bin/bash
vncviewer 192.168.0.3:0 -geometry 1024x768 -passwd ~/.vnc/passwd
Сохраняем, даём права на исполнение.
Дальше стандартно (настройки/редактор меню) добавляем его куда хотим.
Всё, подключаемся, радуемся, пьём коньяк.
-------
UPD К сожалению, xvnc4viewer не может масштабировать окно подключения к VNC-серверу.
Например, у меня на сервере разрешение экрана full-hd, а на нетбуке, с которого подключаюсь, всего 1024*600. В результате приходится гонять удалённый экран полосами прокрутки.
Но есть Remmina, которая замечательно масштабирует. Только пароль ей надо сообщить самолично, из ~/.vnc/passwd не берёт.