17.06.2020

Ubuntu. Установка VNC и удаленный доступ к нему

Иногда возникает необходимость работы на удаленном сервере не через консоль, а через удаленный рабочий стол. На помощь приходит система удаленного доступа VNC (Virtual Network Computing). Рассмотрим как установить, настроить и подключиться к серверу.

Установка

Обновляем информацию о репозиториях:

sudo apt-get update

Обновляем компоненты системы и перезагружаем сервер:

sudo apt-get upgrade reboot

Приступаем к установке.

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

<img width="799" height="447" src="https://lincore.kz/wp-content/uploads/2020/06/33_3.png" alt="" />

Видно, что сервер запустился на tcp-порту 5901.

Подключаемся к серверу с помощью любого VNC-клиента, например Remmina.

Выбираем протокол - VNC. Указываем адрес сервера и через двоеточие порт, в конкретном случае 10.10.2.7:5901. И кликаем по кнопке “Подключиться”.

Программа запросит ввод пароля.

Вот и результат.

Важно! Если используется защита межсетевым экраном, тогда следует добавить разрешающее правило для подключения:

iptables -A INPUT -p tcp --dport 5901 -j ACCEPT iptables-save

Также важно помнить, что разрешающее правило должно быть для каждого запущенного экземпляра сервера по виду:

iptables -A INPUT -p tcp --dport 59XX -j ACCEPT iptables-save

XX - номер порта :2 - 02, :3 - 03, :10 - 10.