Назад в блог

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

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

VNC (Virtual Network Computing) позволяет использовать сервер так же, как и обычный компьютер — с графическим интерфейсом пользователя (GUI),  рабочим столом, мышью и клавиатурой. Это упрощает работу для пользователей, которые только начинают осваивать сервер.

CloudSigma позволяет получить доступ к VNC сразу после создания сервера. Кроме того, в этом руководстве вы настроите VNC-сервер на Ubuntu 18.04 и подключитесь к нему через безопасный туннель. В этом руководстве вы будете использовать TigerVNC — легкий и быстрый пакет VNC-сервера. Он обеспечит плавную работу даже в медленных сетях.

Предварительные требования

Сначала вам нужно создать машину. Вы можете легко сделать это в вычислительном разделе веб-приложения CloudSigma:
Create a Linux Server setup java VNC

Для этого руководства вы можете использовать следующие ресурсы:
CPU: 8 GHz
RAM: 8 GB
SSD: 50 GB

Вы можете смонтировать диск с Ubuntu 18.04 LTS-образом, доступным в библиотеке CloudSigma:
Ubuntu 18.04: предустановленная 64-битная версия с драйверами VirtIO, суперпользователем, Python 2.7.17, Pip 20.0.2, OpenSSL 1.1.1d, Cloud-init и последними обновлениями до 2019-03-03.

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

Функция VNC в CloudSigma

CloudSigma предоставляет простой способ доступа к вашим машинам через VNC.

vnc tunnel

Вы можете нажать на переключатель VNC Tunnel’s, чтобы включить его. Как только вы это сделаете, вы увидите этот экран.

vnc link

Если вы прикрепили SSH-ключ, вам нужно будет войти на сервер и изменить пароль с помощью следующей команды:

Если вы не прикрепляли SSH-ключ, вы можете пропустить этот шаг. Пароль можно найти в разделе Install Notes.

 

Вы можете либо нажать ‘Display VNC’, чтобы открыть окно VNC в браузере, либо ‘Display VNC URL’, чтобы просмотреть данные, необходимые для подключения к VNC-клиенту. При нажатии на ‘Display VNC’ откроется новая вкладка с запросом учетных данных. Вы можете использовать ее так же, как если бы подключались к виртуальной машине через VNC-клиент.

open vnc in browser

Теперь мы рассмотрим другой способ установки VNC на сервер.

Установка VNC-сервера

Образ Ubuntu по умолчанию не содержит пакетов графического интерфейса (GUI). Мы установим пакеты для последней версии окружения рабочего стола XFCE и пакет TigerVNC, доступный в репозитории Ubuntu.

Вы можете установить пакет XFCE с помощью следующей команды:

sudo apt install xfce4 xfce4-goodies

После установки пакетов XFCE вы можете установить сервер TigerVNC с помощью следующей команды:

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

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

Далее команда создаст все необходимые конфигурации. На этом этапе вы уже можете использовать VNC-сервер с удаленной системы или вашего компьютера. В рамках этого руководства мы дополнительно настроим наш сервер перед его использованием.

Настройка VNC-сервера

В этом разделе мы покажем вам, как настроить предпочитаемый рабочий стол для использования. 

Вам необходимо настроить эти команды в файле ‘xstartup’ в папке .vnc вашего домашнего каталога. При первом запуске команды vncserver был создан сценарий автозапуска. Вы создадите другой сценарий для запуска рабочего стола XFCE.

Кроме того, при первом запуске команды vncserver был запущен экземпляр сервера по умолчанию на порту 5901. Этот порт называется портом дисплея и обозначается в VNC как “:1”. Если вы запустите команду снова, VNC создаст еще один экземпляр “:2” на других портах и так далее.

Поскольку вы собираетесь настроить VNC-сервер, остановите уже запущенные экземпляры: 

Перед изменением файла автозапуска сделайте резервную копию исходного файла:

Теперь вы можете отредактировать исходный файл с помощью редактора vim и заменить его содержимое следующим:

Каждый раз, когда вы запускаете или перезапускаете vncserver, процесс выполняет команды из этого файла. Эти команды запускают окружение рабочего стола, если оно еще не запущено. 

Первая команда, “xrdb $HOME/.Xresources” указывает графической оболочке прочитать конфигурации из этого места. Вы можете настроить различные параметры рабочего стола, такие как цвета терминала, темы курсора и т. д. Вторая команда запускает XFCE.

Чтобы убедиться, что VNC-сервер может выполнить этот файл, вам нужно изменить права доступа к нему:

После изменения прав доступа вы можете запустить VNC-сервер:

Start VNC Server

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

Создание безопасного туннеля для VNC-подключения

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

Чтобы создать SSH-туннель, который безопасно перенаправляет соединение на localhost, вы можете использовать следующую команду в терминале или PowerShell (для Windows):

В приведенной выше команде:

-L: Используется для указания привязки портов. В данном случае мы перенаправляем порт 5901 сервера на порт 5901 нашей системы

-C: Используется для включения сжатия

-N: Используется для указания того, что удаленное выполнение команды не требуется

-l: Указывает имя для удаленного входа

-i: Указывает расположение ключа 

Creating SSH Tunnel

Как только туннель будет запущен, используйте VNC-клиент для подключения к localhost:5901. Вам будет предложено ввести пароль, который вы настроили ранее.

После подключения вы увидите экран, похожий на этот.

Connecting to Remote Desktop

Вы можете остановить SSH-туннель, нажав Ctrl + C.

Запуск VNC в качестве системной службы

Теперь вы можете настроить VNC как системную службу для запуска, перезапуска или проверки ее статуса с помощью команд systemd. Это также обеспечит запуск VNC-сервера при перезагрузке сервера.

Для этого создайте новый юнит-файл — /etc/systemd/system/vncserver@.service.

Вы заметите, что в имени файла выше присутствует символ «@». Он позволяет передавать аргумент, который можно использовать в конфигурации сервера. 

Добавьте в файл следующее содержимое:

Команда «ExecStartPre» останавливает VNC, если он уже запущен, тогда как команда ExecStart запускает VNC с глубиной цвета 24 бита и разрешением 1280×800. Вы можете изменить этот файл в соответствии со своими потребностями.

Теперь вы можете перезагрузить юниты systemd с помощью следующей команды:

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

Цифра 1 после @ указывает номер дисплея, на котором должна запускаться служба. Пример: :1, :2 и т. д.

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

Enabling Service

Теперь вы можете запустить VNC-сервер так же, как запустили бы любую другую службу.

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

Теперь VNC-сервер будет доступен при перезагрузке вашего сервера.

Теперь, когда вы знаете, как настроить VNC-сервер, вы можете легко управлять своим сервером так же, как и своим компьютером.

author

Akshay Nagpal

Автор · CloudSigma

Preslav Dobrev — креативный дизайнер в CloudSigma, сосредоточенный на формировании последовательного корпоративного образа с помощью традиционных и инновационных маркетинговых каналов. Он умело сочетает художественное видение со стратегическим маркетингом, создавая убедительные истории бренда.

Комментарии

Комментариев пока нет. Будьте первым.