VNC для удаленного доступа к Ubuntu c оболочкой Gnome

В этом руководстве будет рассмотрен процесс настройки сервера VNC для осуществления удаленного управления виртуальными серверами под управлением операционной системы Ubuntu 16.04 x64.

Что такое VNC

VNC — широко распространенный способ удаленного управления рабочим столом компьютера по сети. VNC работает по модели клиент-сервер и использует специализированный сетевой протокол Remote Frame Buffer (RFB). Клиенты VNC (иногда называемые зрителями) совместно с сервером используют пользовательский ввод (нажатия клавиш, движения мыши, клики и сенсорные нажатия). Серверы VNC захватывают содержимое фреймбуфера локального дисплея и передают их обратно клиенту, а также заботятся о передаче удаленного клиентского ввода на локальный вход. Соединения по RFB обычно идут на TCP-порт сервера с номером 5900.

Gnome - (GNU Network Object Model Environment) представляет собой графический пользовательский интерфейс (GUI) и набор компьютерных настольных приложений для пользователей операционной системы Linux. Он предназначен для того, чтобы сделать операционную систему Linux простой в использовании для не-программистов и в целом соответствует рабочему интерфейсу Windows и его наиболее распространенному набору приложений. В GNOME пользовательский интерфейс может, например, быть похожим на Windows или Mac OS. Кроме того, GNOME включает набор приложений того же типа, что и продукт Windows Office: текстовый процессор, программа для работы с электронными таблицами, менеджер баз данных, разработчик презентации, веб-браузер и программа электронной почты.

Установка VNC Server и рабочего окружения GNOME

Прежде всего следует обновить локальную базу пакетов:

sudo apt-get update

Далее установите пакеты из главного репозитория:

sudo apt-get install --no-install-recommends ubuntu-desktop gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal vnc4server

Для завершения начальной конфигурации VNC-сервера выполните команду vncserver для установки пароля. Также будет предложено ввести “view-only” пароль для аутентификации только для просмотра. Пользователи, которые будут авторизованы с помощью “view-only” пароля, не смогут контролировать рабочий стол с помощью мыши или клавиатуры.

 

Настройка VNC Server

Во-первых, мы должны указать VNC серверу какие команды выполнять при запуске. Они находятся в файле ~/.vnc/xstartup. Сценарий запуска был создан на предыдущем шаге, но в нем нужно изменить некоторые команды для рабочего окружения Gnome. Инициализация VNC сервера по умолчанию происходит на порт 5901, называемый “Порт дисплея” и упоминается как :1. VNC может запускать несколько экземпляров на других портах: :2, :3, и т.д.

Перед тем как приступить к изменениям настройки VNC сервера необходимо остановить экземпляр на порту 5901:

vncserver -kill :1

Откройте файл в текстовом редакторе:

nano ~/.vnc/xstartup

Добавьте следующие строки:

#!/bin/sh
# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
x-window-manager &

gnome-panel &
gnome-settings-daemon &
metacity &
nautilus &

Проброс портов для возможности удаленного доступа:

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

Запустим рабочий стол, который будет доступен удаленно:

vncserver

При каждом новом запуске рабочего стола с номером X необходимо пробрасывать порт для удаленного доступа:

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

Проверка VNC

Для проверки корректности работы воспользуйтесь клиентом рабочего стола, например Remmina.

 

Последнее обновление: 27.12.2021