Перейти к основному контенту

Подключение к серверу Linux Ubuntu 20.04 с графическим интерфейсом через VNC

Установка графического интерфейса и VNC сервера

Для начала установим графический интерфейс на сервере. Для этого выполним команды:

sudo apt update
sudo apt install xfce4 xfce4-goodies tightvncserver

Здесь мы установим графическую оболочку xfce, пакет xfce4-goodies, который содержит несколько дополнительных возможностей для среды рабочего стола, а также VNC-сервер tightvncserver

Во время установки вас попросят выбрать display manager. Мы выбрали gdm3.

linux-xfce1.png

Установка занимает в среднем 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

Затем сделаем файл xstartup исполняемым

chmod +x ~/.vnc/xstartup

Снова запускаем vncserver:

vncserver
Подключаемся к удаленному рабочему столу

Запускаем клиент VNC. Например, в Linux — Remmina, в Windows — TightVNC Viewer или RealVNC. Вводим IP-адрес компьютера с VNC и номер порта.

linux-xfce2.png

На скриншоте показан интерфейс программы Remmina. После запуска программы выберите протокол - VNC, в строчке ввода введите ip-адрес-сервера:5901 , и нажмите "Enter". 

Будет запрошен пароль — вводим тот, что устанавливали при настройке vncserver. При необходимости сохраняем его и жмем "ОК".

linux-xfce3.png

Готово. Подключение выполнено.

linux-xfce4.png

Автозапуск сервиса VNC

Чтобы VNC сервер запускался после перезагрузки, создаем новый юнит в systemd. Создаём файл:

sudo vi /etc/systemd/system/vncserver.service

В него вводим следующее:

[Unit]
Description=VNC server
After=syslog.target network.target

[Service]
Type=forking
User=john
Group=john
WorkingDirectory=/home/john

PIDFile=/home/john/.vnc/%H:1.pid
ExecStartPre=-/usr/bin/vncserver -kill :1 > /dev/null 2>&1
ExecStart=/usr/bin/vncserver
ExecStop=/usr/bin/vncserver -kill :1

[Install]
WantedBy=multi-user.target

где замените пользователя  john на своего

Сохраните файл.

Затем перезапустим демон systemd

sudo systemctl daemon-reload

И добавим в автозагрузку наш сервис

sudo systemctl enable vncserver.service
Полезные команды

Проверка статуса сервиса VNC:

sudo systemctl status vncserver

Остановка текущего экземпляра сервера VNC, если он еще работает:

vncserver -kill :1

Смена пароля доступа к VNC:

vncpasswd