Если у пользователя возникает необходимость во взаимодействии с удаленным сервером через графический интерфейс, он может воспользоваться технологией VNC.
VNC – это технология, благодаря которой пользователь может настроить удаленное подключение к серверу через сеть. Она работает на основе клиент-серверной архитектуры и использует протокол RFB для передачи изображения экрана и ввода данных с различных устройств ввода (например, клавиатуры или мыши). VNC поддерживает различные операционные системы, включая Ubuntu, Windows, macOS и другие. Еще одним преимуществом технологии VNC является поддержка одновременного подключения нескольких пользователей, что может быть полезно для совместной работы над проектами или при обучении.
В настоящей инструкции опишем, как установить VNC на Ubuntu на примере сервера от Timeweb Cloud с операционной системой Ubuntu 22.04.
Прежде чем перейти к процессу установки VNC на сервер и локальную машину, необходимо ознакомиться с рядом требований. Ниже будет представлен список того, что вам необходимо для выполнения установки:
На данный момент единственный способ коммуникации с арендованным сервером Ubuntu 22.04 – это консоль. Чтобы настроить удаленное управление через графический интерфейс, необходимо установить одну из существующих сред рабочего стола на сервер вместе с VNC. Ниже представим списки доступных серверов VNC и графических оболочек, которые можно установить на сервер под управлением операционной системы Ubuntu.
Серверы VNC:
Графические оболочки:
Выбор сервера VNC и графической оболочки зависит от конкретных потребностей и ресурсов пользователя. TightVNC и Xfce — это отличные варианты для стабильных удаленных сеансов на Ubuntu, не требующих мощных ресурсов для своей работы. На следующем этапе мы подробно опишем их установку на сервер.
cloud
Чтобы установить VNC-сервер на Ubuntu вместе с графической оболочкой, выполните соединение с сервером и авторизуйтесь под обычным пользователем, у которого есть права администратора.
sudo apt update
sudo apt install xfce4 xfce4-goodies
Здесь первый пакет содержит базовую графическую оболочку Xfce, а второй содержит дополнительные приложения и плагины для Xfce. Последний из них не обязателен для установки.
sudo apt install tightvncserver
vncserver
Данная команда создает новую VNC-сессию с определенным номером. Обычно «:1» для первой сессии, «:2» для второй и так далее. Этот номер связан с дисплейным портом (например, порт 5901 учитывается как «:1»). Это означает, что вы можете запустить несколько параллельных VNC-сессий на одной машине, используя разные дисплейные порты.
Также при выполнении данной команды происходит базовая настройка сервера. Если вы используете команду впервые, то система предложит установить пароль, который в будущем будет использоваться для подключения пользователя к серверу в графической оболочке.
После этого, система предложит установить пароль для режима view-only. Режим «только просмотр» разрешает пользователю видеть удаленный рабочий стол, но запрещает ему изменять какие-либо данные на нем. Это полезно в ситуациях, когда пользователю нужно продемонстрировать, что происходит на удаленном компьютере, ограничивая доступ к редактированию его содержимого.
Чтобы изменить созданные ранее пароли, введите в терминал следующую команду:
vncpasswd
По итогам данного этапа будет создана VNC-сессия, продемонстрированная на картинке ниже.
На следующем этапе мы проведем настройку VNC для запуска сервера Ubuntu в установленной графической оболочке.
Сервер VNC должен понимать, к какой графической оболочке он должен подключаться. Для этого следует отредактировать специальный конфигурационный файл.
vncserver -kill :1
Здесь :1
– это номер сессии, соответствующий дисплейному порту 5901, который необходимо остановить.
Результат выполнения команды отображен на картинке ниже.
Ваш process ID
будет иметь другое значение.
mv ~/.vnc/xstartup ~/.vnc/xstartup.bak
nano ~/.vnc/xstartup
Итоговый файл должен содержать следующие данные:
#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &
Здесь:
#!/bin/bash
– данная строка представляет собой "шебанг" (shebang) и указывает на то, какую оболочку следует использовать для выполнения скрипта, который находится в оставшейся части файла. В данном случае, она говорит о том, что скрипт будет выполняться с использованием оболочки Bash.xrdb $HOME/.Xresources
– с помощью этой строки система считывает данные из файла .Xresources
. В нем хранятся различные параметры графического рабочего стола в формате «ключ: значение», включая цветовые схемы, шрифты, курсоры, ключи клавиатуры и многое другое;startxfce4 &
– эта строка запускает графическую оболочку Xfce на сервере.
chmod +x ~/.vnc/xstartup
vncserver -localhost
С помощью опции -localhost
мы ограничиваем подключения к серверу VNC локальным хостом (вашим сервером) — удаленные подключения с других компьютеров будут запрещены. При этом вы сможете подключаться со своего компьютера, так как далее мы настроим SSH-туннель между ним и сервером. Эти подключения VNC-сервер тоже будет считать локальными.
Теперь приступим к установке клиента VNC. Мы будем ставить клиент на компьютер с операционной системой Windows 11.
Существует множество клиентов VNC, которые поддерживают разные операционные системы. Ниже представим некоторые из них:
В нашей инструкции мы воспользуемся бесплатным решением TightVNC Viewer.
Теперь нажимаем 2 раза «Next» и устанавливаем клиент VNC на локальную машину.
ssh -L 56789:localhost:5901 -C -N -l имя_пользователя IP_адрес_сервера
На вашей локальной машине обязательно должен быть установлен OpenSSH. Если его нет – установите его, используя документацию Microsoft.
Команда, приведенная выше, выполняет настройку SSH-туннеля, который перенаправляет соединение с локального компьютера на удаленный сервер через защищенное соединение. При этом VNC будет считать, что это соединение происходит с сервера.
Ниже опишем все используемые флаги:
-L
– данный флаг указывает на создание SSH-туннеля с перенаправлением портов. Он перенаправляет порт локального компьютера на заданный хост и порт сервера. В качестве форвардного порта используется 56789, так как он не привязан ни к какой службе;-C
– этот флаг включает сжатие данных перед их передачей по SSH;-N
– данная опция указывает SSH не выполнять никакие команды после установки соединения;-l
– этот флаг отвечает за определение пользователя, который должен подключиться к системе.В нашем случае данная команда будет выглядеть следующим образом:
localhost:56789
Система предложит вам ввести пароль, который был создан на первом этапе данной инструкции.
После ввода пароля выполняется подключение к серверу VNC. Перед вами должен появиться стандартный рабочий стол графической оболочки Xfce, как показано на картинке ниже.
Чтобы остановить туннель SSH, в командой строке локального компьютера нажмите сочетание клавиш CTRL+C.
Подготовили для вас выгодные тарифы на облачные серверы
В настоящей инструкции был рассмотрен поэтапный процесс установки VNC на Ubuntu 22.04. Был выбран TightVNC Server в качестве сервера VNC и TightVNC Viewer в качестве клиента. Графической оболочкой для взаимодействия пользователя с сервером послужил Xfce.
Надеемся, использование технологии VNC поможет вам в администрировании сервера, упростив данный процесс своими возможностями.