В данной статье рассмотрим процесс установки графической оболочки на Linux-сервере, и в качестве примера будем использовать VPS, работающий под управлением операционной системы Ubuntu 20.04. При выборе окружения рабочего стола мы остановились на варианте с XFCE. Это обусловлено относительно низкими требованиями к вычислительным ресурсам со стороны данной среды, хотя во многом, всё зависит от персональных предпочтений и потребностей. После установки и настройки оболочки на сервере мы будем подключаться к нашему VPS используя протокол RDP (Remote Desktop Protocol).
Конфигурация, заказанного на RUVDS виртуального сервера, выглядит следующим образом:

Естественно, на сервере должны быть произведены работы по его первоначальной настройке. А именно, в систему должен быть добавлен пользователь, имеющий привилегии sudo
. Зарегистрировавшись именно под этой учётной записью, мы будем производить действия по установке и настройке графической оболочки. Также, предварительно необходимо произвести запуск брандмауэра, минимальную настройку которого мы сделаем ниже.
Установка графической оболочки
Итак, первым делом необходимо произвести обновление списка пакетов:
$ sudo apt update
Теперь, можно запустить установку окружения рабочего стола, вместе с которой должны быть проинсталлированы и все основные зависимости:
$ sudo apt install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils
В данном случае установка занимает довольно значительное время, в ходе которой инсталлятор предлагает выбрать менеджер экрана. Мы выбрали, предлагаемый по умолчанию:

По окончании установки графической оболочки следует проинсталлировать сервер Xrdp
:
$ sudo apt install xrdp xorgxrdp
Для запуска сервера Xrdp
необходимо наличие учётной записи xrdp
. Данный пользователь должен быть добавлен в группу ssl-cert
:
$ sudo adduser xrdp ssl-cert
При инициализации пользовательской сессии исполняется скрипт startwm.sh
, находящийся в директории /etc/xrdp
. Содержимое скрипта подлежит редактированию, поэтому предварительно необходимо сделать его резервную копию:
$ cd /etc/xrdp
$ sudo mv startwm.sh startwm.sh.bak
Далее, нужно будет внести в скрипт изменения:
$ sudo nano startwm.sh
Сценарий для запуска XFCE, который необходимо внести в файл вместо существующего содержимого, выглядит следующим образом:
#!/bin/sh
if [ -r /etc/default/locale ]; then
. /etc/default/locale
export LANG LANGUAGE
fi
exec /usr/bin/startxfce4
После сохранения изменений нужно сделать файл исполняемым:
$ sudo chmod 755 startwm.sh
Теперь сервер Xrdp
необходимо перезапустить:
$ sudo systemctl restart xrdp
Статус Xrdp
не должен показывать ошибок:
$ sudo systemctl status xrdp

Сервер Xrdp
по умолчанию прослушивает порт 3389. И поскольку на сервере с Ubuntu используется брандмауэр UFW, необходимо в нём разрешить подключение к порту 3389. Команда, разрешающая доступ к порту с любого IP-адреса, выглядит следующим образом:
$ sudo ufw allow 3389
Если есть необходимость ограничить доступ каким-то определённым IP-адресом, нужно использовать такую инструкцию:
$ sudo ufw allow from XXX.XXX.XXX.XXX to any port 3389
где XXX.XXX.XXX.XXX
– IP-адрес рабочей станции, с которой будет осуществляться подключение к VPS.
Следующим шагом необходимо добавить в систему специальную учётную запись. Она будет использоваться при работе с окружением рабочего стола. Такой учётной записью в нашем случае будет пользователь rdp-user
:
$ sudo adduser rdp-user
Если есть необходимость в использовании данного пользователя в задачах, связанных с администрированием системы, то имеет смысл добавить пользователя в группу sudo
:
$ sudo usermod -aG sudo rdp-user
На этом настройка сервера завершена.
Подключение к графической оболочке
Теперь можно подключиться к нашему виртуальному серверу по протоколу RDP. На компьютере, работающем под Windows, запуск rdp-подключения осуществляется при помощи утилиты mstsc
. В строке поиска введите mstsc
и после открытия окна подключения введите IP-адрес своего VPS, после чего нажмите подключить:

Для авторизации на сервере понадобится ввести имя пользователя и пароль специально созданной учётной записи. У нас это – rdp-user
:

В случае успешной авторизации откроется доступ к рабочему столу нашего сервера:

Подобным же образом можно подключиться к нашему серверу с компьютера, работающего под управлением операционной системы семейства Linux. В нашем примере мы используем рабочую станцию с установленной Ubuntu 21.10, где для подключения по RDP используется клиент удалённого рабочего стола Remmina
. Запустив это приложение, необходимо ввести IP-адрес VPS и нажать Enter
:

Далее, необходимо авторизоваться на сервере. Для этого в нашем примере мы использовали учётную запись rdp-user
:

После чего должен открыться рабочий стол нашего сервера:

Заключение
Таким образом, мы развернули графическую оболочку XFCE на сервере, работающем под управлением Ubuntu 20.04. После настройки рабочего стола мы подключились к графическому интерфейсу нашего VPS при помощи протокола RDP с рабочих станций, работающих как под Windows, так и под управлением операционной системы семейства Linux.