Установка VNC и удаленный доступ к рабочему столу на Ubuntu 22.04
Иногда возникает необходимость работы на удаленном сервере не через консоль, а через удаленный рабочий стол. На помощь приходит система удаленного доступа VNC (Virtual Network Computing). Рассмотрим как установить, настроить и подключиться к серверу.
Установка
Обновляем информацию о репозиториях:
sudo apt-get updateОбновляем компоненты системы и перезагружаем сервер:
sudo apt-get upgradeДобавим репозиторий в список:
nano /etc/apt/sources.listДля этого добавим в конец файла строку:
deb http://cn.archive.ubuntu.com/ubuntu/ bionic universe
При повторном обновлении пакетов, может возникнуть ошибка:

Чтобы ее исправить, нужно добавим ключ:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32Вновь обновим пакеты:
apt update
Приступаем к установке.
sudo apt-get install --no-install-recommends ubuntu-desktop gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal vnc4serverЭтот процесс не очень быстрый, так как будет скачано более 200 мегабайт.
Чтобы завершить начальное конфигурирование VNC-сервера, следует выполнить команду:
vncserverПрограмма запросит пароль и его подтверждение для подключения через VNC, а также создаст скрипты.
Настройка
Под настройкой следует понимать, что будут указаны команды и скрипты, которые следует выполнять при запуске сервера. Для этого необходимо отредактировать файл ~/.vnc/xstartup. VNC-сервер, по умолчанию, инициализируется на tcp-порту 5901, который называют “Display port”, в документации VNC он упоминается как “:1”. Сам же VNC позволяет запускать несколько экземпляров :2 – 5902, :3 – 5903 и так далее.
Останавливаем службу на порту 5901:
vncserver -kill :1Редактируем файл настроек, для этого откроем его в любом текстовом редакторе, например nano:
nano ~/.vnc/xstartupВ конец файла добавляем 4 строки:
gnome-panel &
gnome-settings-daemon &
metacity &
nautilus &Общий вид файла должен стать таким:

Запускаем командой:
vncserverВидно, что сервер запустился на tcp-порту 5901.
Подключаемся к серверу с помощью любого VNC-клиента, например Remmina.
Выбираем протокол – VNC. Указываем адрес сервера и через двоеточие порт, в конкретном случае 10.10.2.7:5901. И кликаем по кнопке «Подключиться».
Программа запросит ввод пароля.

Вот и результат.
Важно! Если используется защита межсетевым экраном, тогда следует добавить разрешающее правило для подключения:
iptables -A INPUT -p tcp --dport 5901 -j ACCEPTiptables-saveТакже важно помнить, что разрешающее правило должно быть для каждого запущенного экземпляра сервера по виду:
iptables -A INPUT -p tcp --dport 59XX -j ACCEPTiptables-saveXX – номер порта :2 – 02, :3 – 03, :10 – 10.