Установка Desktop GUI на Ubuntu 16.04 и 18.04 с VNC доступом к удаленному рабочему столу

Это обновленная версия статьи для актуальных версий Ubuntu 16.04 и 18.04 доступных для предустановки при заказе VPS серверов на хостинге Siteko

Все действия на заказанном VDS необходимо выполнять в консоли, зайдя на VDS по протоколу SSH

Для начала необходимо обновить репозитории Ubuntu:

$ sudo apt-get update && apt-get upgrade

Установка рабочего стола Xfce и VNC сервера.

Начать нужно с установки графического интерфейса (GUI ) рабочего стола т.к. на установленном по умолчанию шаблоне операционной системы это программное обеспечение не установлено

Установить лучше легкую и быструю графическую оболочку Xfce и производительный VNC сервер TightVNC. Существуют и другие графические оболочки (Gnome, KDE и др.) и VNC серверы - TigerVNC и x11vnc. Но мы рассмотрим установку и использование именно Xfce и TightVNC

Выполним в консоли команду:

$ sudo apt-get install xfce4 xfce4-goodies tightvncserver

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

На этом установка рабочего стола Xfce и VNC сервера завершены.

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

Для начальной конфигурации VNC сервера и установки пароля нужно выполнить команду:

$ vncserver

На первом шаге будет создан пароль доступа к VNC серверу.

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

Would you like to enter a view-only password (y/n)?

Нужно ответить отрицательно - n. В противном случае дисплей VNC сервера будет доступен только для просмотра без возможности управлять мышью и клавиатурой.

Каждый дисплей на VNC сервере работает на своем порту и обозначается сервером как :1 - порт 5901, :2 - порт 5902 и т.д.

Необходимо остановить запущенный vncserver на порту 5901 командой:

$ vncserver -kill :1

Конфигурационный файл VNC сервера xstartup, находящийся в домашней директории пользователя в поддиректории .vnc, указывает какие команды нужно выполнять при запуске VNC сервера.

Переименуем конфигурационный файл созданный по умолчанию и создадим свой.

$ mv ~/.vnc/xstartup ~/.vnc/xstartup.bak 
$ mcedit ~/.vnc/xstartup

Конфигурационный файл необходимо привести к виду:

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

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

Необходимо сделать файл исполняемым:

$ sudo chmod +x ~/.vnc/xstartup

Запустим сервер VNC:

$ vncserver

Если сервер запустился вы увидите в консоли сообщение похожее на это:

New 'X' desktop is vnc:1
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/vnc:1.log

Подключение к удаленному рабочему столу VNC

Для подключения к удаленному рабочему столу Ubuntu с установленным и настроенным VNC сервером, в нашем примере, будем использовать VNC клиент TightVNC Viewer для Windows

Скачать VNC клиент TightVNC можно с сайта разработчиков:
https://www.tightvnc.com/download.php

Bли с нашего сайта:

TightVNC for Windows 32 bit

TightVNC for Windows 64 bit

Установим программу TightVNC к себе на компьютер

На этапе выбора типа установки - Choose Setup Type, необходимо выбрать Custom:

Установка TightVNC Viewer for Windows

В следующем окне нужно отключить установку TightVNC Server оставить только клиент TightVNC Viewer:

Установка TightVNC Viewer for Windows

Таким образом на локальный компьютер установится только клиент TightVNC, т.к. сервер на на локальной машине не нужен.

Теперь уже можно запустить установленный TightVNC Viewer

В поле Remote Host нужно ввести IP адрес сервера с ранее установленным TightVNC Server и порт на котором висит наш сконфигурировнный ранее дисплей :1 5901. IP адрес и порт отделяются двойным двоеточием ip_adress::5901

Установка TightVNC Viewer for Windows

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

Создание systemd сервиса VNC

Мы уже подключились к удаленному рабочему столу VNC на VPS с операционной системой Ubuntu, но настройка сервера на этом не завершена.

Необходимо настроить vncserver как сервис systemd для того, чтобы он запускался , останавливался и перезапускался как любой другой сервис. Так же лучше, чтобы он запускался автоматически при перезагрузке нашего VPS сервера.

С помощью текстового редактора создадим файл сервиса /etc/systemd/system/vncserver@.service

Выполните в консоли SSH команду:

$ mcedit /etc/systemd/system/vncserver@.service

Скопируем в содержимое файла:

[Unit]
Description=Start TightVNC server at startup
After=syslog.target network.target

[Service] Type=forking User=root PAMName=login PIDFile=/root/.vnc/%H:%i.pid ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1 ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 :%i ExecStop=/usr/bin/vncserver -kill :%i
[Install] WantedBy=multi-user.target

Сохраните созданный юнит-файл и выйдите из редактора. Клавиши F2 и F10 последовательно.

Далее для того, чтобы дать системе знать о новом юните и активировать сервис выполняем в консоли команды:

$ sudo systemctl daemon-reload
$ sudo systemctl enable vncserver@1.service

Остановим сервис:

$ vncserver -kill :1

И запустим его как системную службу systemd:

$ sudo systemctl start vncserver@1

Статус запущенной службы:

$ sudo systemctl status vncserver@1

На этом настройки на стороне сервера завершены.

Шифрование VNC соединения с помощью SSH туннелирования TCP-соединений

VNC cоединение с удаленным сервером не защищено шифрование, а значит не безопасно.

Это можно исправить с помощью SSH туннелирования TCP-соединений

Воспользуемся знакомым SSH клиентом PuTTY

Создаем новое SSH соединение с VPS сервером стандартным образом, на 22 порту:

SSH туннелирование VNC соединениия в PuTTY

Переходим в настройки туннелирования по пути в меню слева- Connection - SSH - Tunnels

Source port - 5901

Destinations - IP_VNC-сервера:5901

Нажимаем кнопку Add

SSH туннелирование VNC соединениия в PuTTY

Переходим обратно в категорию Session и сохраняем настройки соединения под произвольным именем, заполнив поле Saved Sessions и нажав кнопку Save

Подключаемся к VPS серверу по SSH, нажав кнопку Open.

Далее запускаем клиент TightVNC Viewer и в качестве Remote Host уже указываем localhost::5901

Подключение TightVNC Viewer через SSH тунеллирование

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

На этом настройка Desktop GUI на Ubuntu 16.04 и 18.04 с VNC доступом к удаленному рабочему столу закончена

  • VNC
  • 143 Пользователи нашли это полезным
Помог ли вам данный ответ?

Связанные статьи

CentOS Установка сертификата SSL

Использование SSL совместно с веб сервером Apache позволяет защитить конфиденциальные данные при...

Настройка и установка Suhosin на сервер

Сегодня не для кого не секрет что вебсерверы подвержены атакам злоумышленников. Причин по которым...

Установка файрволла APF - Advanced Policy Firewall

Нет смысла обьяснять необходимость файрволла на сервере. Удачным выбором среди серверных...

Обновление версии PHP с 5.1 до 5.2 в CentOS 5

В шаблоне CentOS 5 x86_64 + ISPmanager устанавливаемом на наших VPS серверах установлен PHP...

Настройка vsftpd в CentOS

  vsftpd (Very Secure Ftp Daemon) разрабатывался Chris Evans, недовольным уровнем безопасности,...