Подключение к серверу Linux Ubuntu 20.04 с графическим интерфейсом через VNC
Установка графического интерфейса и VNC сервера
Для начала установим графический интерфейс на сервере. Для этого выполним команды:
sudo apt update
sudo apt install xfce4 xfce4-goodies tightvncserver
Здесь мы установим графическую оболочку xfce, а также VNC-сервер tightvncserver
Во время установки вас попросят выбрать display manager. Мы выбрали gdm3.
Установка занимает в среднем 5-10 минут, в зависимости от мощности вашего сервера.
После установки задаем пароль для доступа по удаленному рабочему столу. Для этого вводим команду:
vncserver
... на запрос пароля вводим его дважды.
* Если система не затребует второй раз пароль, проверьте внимательно сообщение. Сервер может выдать ошибку, если пароль будет короткий.
После будет предложено ввод пароля для гостевого доступа — можно согласиться (y) и ввести пароль или отказаться (n).
Настройка VNC сервера
Для начала, останавливаем экземпляр VNC сервера:
vncserver -kill :1
* экземпляр :1, по умолчанию, слушает на порту 5900+1 (5901).
Приступаем к настройке VNC сервера. Открываем файл ~/.vnc/xstartup и вводим:
#!/bin/bash
xrdb $HOME/.Xresources
startxfce4
В этом файле могут присутствовать и другие параметры. Главное, чтобы была строчка xrdb $HOME/.Xresources и самая последняя строчка: startxfce4
Снова запускаем vncserver:
vncserver
Подключаемся к удаленному рабочему столу
Запускаем клиент VNC. Например, в Linux — Remmina, в Windows — TightVNC Viewer или RealVNC. Вводим IP-адрес компьютера с VNC и номер порта.
На скриншоте показан интерфейс программы Remmina. После запуска программы выберите протокол - VNC, в строчке ввода введите ip-адрес-сервера:5901 , и нажмите "Enter".
Будет запрошен пароль — вводим тот, что устанавливали при настройке vncserver. При необходимости сохраняем его и жмем "ОК".
Готово. Подключение выполнено.
Автозапуск сервиса VNC
Чтобы VNC сервер запускался после перезагрузки, создаем новый юнит в systemd. Создаём файл:
sudo vi /etc/systemd/system/vncserver.service
В него вводим следующее:
[Unit]
Description=Start TightVNC server at startup
After=syslog.target network.target
[Service]
Type=forking
User=sammy
Group=sammy
WorkingDirectory=/home/sammy
PIDFile=/home/sammy/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 -localhost :%i
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.target
где замените пользователя sammy на своего