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

Как установить VNC на Ubuntu

Илья Ушаков
Илья Ушаков
Технический писатель
20 сентября 2023 г.
776
9 минут чтения
Средний рейтинг статьи: 5

Если у пользователя возникает необходимость во взаимодействии с удаленным сервером через графический интерфейс, он может воспользоваться технологией VNC.

VNC – это технология, благодаря которой пользователь может настроить удаленное подключение к серверу через сеть. Она работает на основе клиент-серверной архитектуры и использует протокол RFB для передачи изображения экрана и ввода данных с различных устройств ввода (например, клавиатуры или мыши). VNC поддерживает различные операционные системы, включая Ubuntu, Windows, macOS и другие. Еще одним преимуществом технологии VNC является поддержка одновременного подключения нескольких пользователей, что может быть полезно для совместной работы над проектами или при обучении.

В настоящей инструкции опишем, как установить VNC на Ubuntu на примере сервера от Timeweb Cloud с операционной системой Ubuntu 22.04.

Этап 1. Подготовка к установке VNC

Прежде чем перейти к процессу установки VNC на сервер и локальную машину, необходимо ознакомиться с рядом требований. Ниже будет представлен список того, что вам необходимо для выполнения установки:

  • Во-первых, вам понадобится сервер с операционной системой Ubuntu 22.04. В данной инструкции будет использоваться сервер от компании Timeweb Cloud с минимальной аппаратной конфигурацией.

Image2

  • Во-вторых, установка должна выполняться от обычного пользователя с правами администратора.
  • В-третьих, вам нужно выбрать графическую оболочку, через которую вы будете взаимодействовать с удаленным сервером после установки системы на сервер и локальную машину.
  • И наконец, вам понадобится любой компьютер, на котором должен быть установлен клиент VNC. 

На данный момент единственный способ коммуникации с арендованным сервером Ubuntu 22.04 – это консоль. Чтобы настроить удаленное управление через графический интерфейс, необходимо установить одну из существующих сред рабочего стола на сервер вместе с VNC. Ниже представим списки доступных серверов VNC и графических оболочек, которые можно установить на сервер под управлением операционной системы Ubuntu.

Серверы VNC:

  • TightVNC Server – это один из наиболее популярных серверов VNC для Ubuntu. Он легко настраивается и обеспечивает хорошую производительность.
  • RealVNC Server – RealVNC предоставляет коммерческое решение для удаленного доступа к серверу на разных дистрибутивах Linux, включая Ubuntu, Debian, Fedora, Arch Linux и другие.

Графические оболочки:

  • Xfce – это легковесная и быстрая графическая оболочка, которая отлично подходит для удаленных сеансов через VNC. Она потребляет меньше ресурсов по сравнению с более тяжелыми оболочками, что делает ее отличным выбором для серверов и виртуальных машин.
  • GNOME – стандартная графическая оболочка Ubuntu, предлагающая современный и удобный интерфейс. Она может быть использована с VNC, но в сравнении с Xfce будет потреблять большее количество ресурсов.
  • KDE Plasma – еще одна популярная графическая оболочка, которая предоставляет множество функций и красивый дизайн.

Выбор сервера VNC и графической оболочки зависит от конкретных потребностей и ресурсов пользователя. TightVNC и Xfce — это отличные варианты для стабильных удаленных сеансов на Ubuntu, не требующих мощных ресурсов для своей работы. На следующем этапе мы подробно опишем их установку на сервер.

Этап 2. Установка графической оболочки и сервера VNC

Чтобы установить VNC-сервер на Ubuntu вместе с графической оболочкой, выполните соединение с сервером и авторизуйтесь под обычным пользователем, у которого есть права администратора. 

  1. После авторизации на сервер вводим команду для обновления пакетов подключенных репозиториев:
sudo apt update
  1. Следующим шагом установим графическую оболочку, выбранную ранее. Для этого вводим в консоль:
sudo apt install xfce4 xfce4-goodies

Здесь первый пакет содержит базовую графическую оболочку Xfce, а второй содержит дополнительные приложения и плагины для Xfce. Последний из них не обязателен для установки.

  1.  Теперь перейдем к установке сервера VNC, а именно TightVNC. Чтобы установить VNC-сервер, вводим в консоль:
sudo apt install tightvncserver
  1. Как только завершится установка, вводим в терминал:
vncserver

Данная команда создает новую VNC-сессию с определенным номером. Обычно «:1» для первой сессии, «:2» для второй и так далее. Этот номер связан с дисплейным портом (например, порт 5901 учитывается как «:1»). Это означает, что вы можете запустить несколько параллельных VNC-сессий на одной машине, используя разные дисплейные порты. 

Также при выполнении данной команды происходит базовая настройка сервера. Если вы используете команду впервые, то система предложит установить пароль, который в будущем будет использоваться для подключения пользователя к серверу в графической оболочке.

Image5

После этого, система предложит установить пароль для режима view-only. Режим «только просмотр» разрешает пользователю видеть удаленный рабочий стол, но запрещает ему изменять какие-либо данные на нем. Это полезно в ситуациях, когда пользователю нужно продемонстрировать, что происходит на удаленном компьютере, ограничивая доступ к редактированию его содержимого.

Чтобы изменить созданные ранее пароли, введите в терминал следующую команду:

vncpasswd

По итогам данного этапа будет создана VNC-сессия, продемонстрированная на картинке ниже.

Image1

На следующем этапе мы проведем настройку VNC для запуска сервера Ubuntu в установленной графической оболочке.

Этап 3. Настройка сервера VNC

Сервер VNC должен понимать, к какой графической оболочке он должен подключаться. Для этого следует отредактировать специальный конфигурационный файл.

  1. Перед любыми настройками сервера VNC, необходимо приостановить все активные экземпляры. В нашей инструкции это тот, что работает на дисплейном порту 5901. Для его остановки вводим в консоль:
vncserver -kill :1

Здесь :1 – это номер сессии, соответствующий дисплейному порту 5901, который необходимо остановить.

Результат выполнения команды отображен на картинке ниже.

Image4

Ваш process ID будет иметь другое значение.

  1. Перед внесением изменений создайте бэкап файла:
mv ~/.vnc/xstartup ~/.vnc/xstartup.bak
  1. После создания резервной копии отредактируем конфигурационный файл в редакторе:
nano ~/.vnc/xstartup

Итоговый файл должен содержать следующие данные:

#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &

Здесь:

  • #!/bin/bash – данная строка представляет собой "шебанг" (shebang) и указывает на то, какую оболочку следует использовать для выполнения скрипта, который находится в оставшейся части файла. В данном случае, она говорит о том, что скрипт будет выполняться с использованием оболочки Bash.
  • xrdb $HOME/.Xresources – с помощью этой строки система считывает данные из файла .Xresources. В нем хранятся различные параметры графического рабочего стола в формате «ключ: значение», включая цветовые схемы, шрифты, курсоры, ключи клавиатуры и многое другое;
  • startxfce4 & – эта строка запускает графическую оболочку Xfce на сервере.

  1. Теперь, когда конфигурационный файл изменен, нужно разрешить его выполнение:
chmod +x ~/.vnc/xstartup
  1. Настройка сервера VNC завершена, теперь можно его запустить: 
vncserver -localhost

С помощью опции -localhost мы ограничиваем подключения к серверу VNC локальным хостом (вашим сервером) — удаленные подключения с других компьютеров будут запрещены. При этом вы сможете подключаться со своего компьютера, так как далее мы настроим SSH-туннель между ним и сервером. Эти подключения VNC-сервер тоже будет считать локальными.

Этап 4. Установка клиента VNC и подключение к серверу

Теперь приступим к установке клиента VNC. Мы будем ставить клиент на компьютер с операционной системой Windows 11.

Существует множество клиентов VNC, которые поддерживают разные операционные системы. Ниже представим некоторые из них:

  • RealVNC Viewer – официальный клиент от RealVNC, поддерживающий Windows, macOS и Linux;
  • TightVNC Viewer – бесплатный и несложный клиент VNC, поддерживающий Windows и Linux;
  • UltraVNC – еще один бесплатный клиент VNC для Windows с расширенным функционалом управления удаленными компьютерами.

В нашей инструкции мы воспользуемся бесплатным решением TightVNC Viewer.

  1. Чтобы установить клиент VNC на локальную машину, перейдем на официальный сайт компании, скачаем установочный файл и запустим его.

Image8

  1. В открывшемся окне установки нажимаем кнопку «Next» и принимаем лицензионное соглашение.
  2. Далее выбираем кастомный режим установки. В нем нам необходимо отключить установку сервера VNC, как это показано на картинке ниже.

Image3

Теперь нажимаем 2 раза «Next» и устанавливаем клиент VNC на локальную машину.

  1. Для шифрования вашего удаленного доступа к серверу VNC вы можете использовать SSH для создания защищенного туннеля. На локальном компьютере с Windows 11 необходимо выполнить следующую команду в PowerShell:
ssh -L 56789:localhost:5901 -C -N -l имя_пользователя IP_адрес_сервера

На вашей локальной машине обязательно должен быть установлен OpenSSH. Если его нет – установите его, используя документацию Microsoft.

Команда, приведенная выше, выполняет настройку SSH-туннеля, который перенаправляет соединение с локального компьютера на удаленный сервер через защищенное соединение. При этом VNC будет считать, что это соединение происходит с сервера.

Ниже опишем все используемые флаги:

  • -L – данный флаг указывает на создание SSH-туннеля с перенаправлением портов. Он перенаправляет порт локального компьютера на заданный хост и порт сервера. В качестве форвардного порта используется 56789, так как он не привязан ни к какой службе;
  • -C – этот флаг включает сжатие данных перед их передачей по SSH;
  • -N – данная опция указывает SSH не выполнять никакие команды после установки соединения;
  • -l – этот флаг отвечает за определение пользователя, который должен подключиться к системе.

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

Image7

  1. После создания защищенного туннеля заходим в клиент VNC и вводим данные для подключения:
localhost:56789

Система предложит вам ввести пароль, который был создан на первом этапе данной инструкции.

После ввода пароля выполняется подключение к серверу VNC. Перед вами должен появиться стандартный рабочий стол графической оболочки Xfce, как показано на картинке ниже.

Чтобы остановить туннель SSH, в командой строке локального компьютера нажмите сочетание клавиш CTRL+C.

Заключение

В настоящей инструкции был рассмотрен поэтапный процесс установки VNC на Ubuntu 22.04. Был выбран TightVNC Server в качестве сервера VNC и TightVNC Viewer в качестве клиента. Графической оболочкой для взаимодействия пользователя с сервером послужил Xfce.

Надеемся, использование технологии VNC поможет вам в администрировании сервера, упростив данный процесс своими возможностями.

Зарегистрируйтесь и начните пользоваться
сервисами Timeweb Cloud прямо сейчас

15 лет опыта
Сосредоточьтесь на своей работе: об остальном позаботимся мы
165 000 клиентов
Нам доверяют частные лица и компании, от небольших фирм до корпораций
Поддержка 24/7
100+ специалистов поддержки, готовых помочь в чате, тикете и по телефону