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

Xrdp является аналогом, с открытым исходным кодом, протокола удаленного рабочего стола (RDP) компании Microsoft. С помощью xrdp, установленного в системе Linux, пользователи могут получить удаленный доступ к рабочему столу Linux с помощью RDP-клиента. Он полностью бесплатен для скачивания и использования.

В данном руководстве предполагается, что у вас уже установлено графическое окружение рабочего стола Ubuntu 20.04 или Ubuntu 18.04. Если у вас минимальная установка - без графического интерфейса - то рекомендуется установить окружение рабочего стола (например, GNOME или Mate).

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

Gnome

$ sudo apt install ubuntu-desktop

Mate

$ sudo apt install mate

Для устанвоки Xrdp, в консоле запустите следующую команду:

$ sudo apt -y install xrdp

Сервис Xrdp запускается автоматически после установки. Можно проверить это, запустив команду:

$ sudo systemctl status xrdp

Вывод должен подтвердить, что демон xrdp активен и работает.

При установке Xrdp, ключ SSL-сертификата (ssl-cert-snakeoil.key) помещается в папку /etc/ssl/private/. Нам нужно добавить пользователя xrdp в группу ssl-cert, чтобы открыть доступ данному пользователю к этой папке.

$ sudo adduser xrdp ssl-cert

Xrdp сидит на порту 3389, и если вы находитесь за UFW брандмауэром, то необходимо открыть порт, чтобы разрешить входящий трафик от RDP клиента.

Разрешаем для конкретной подсети:

$ sudo ufw allow from 192.168.2.0/24 to any port 3389

или для всех

$ sudo ufw allow 3389/tcp

После этого перезагрузим брандмауэр и убедимся, что порт открылся.

$ sudo ufw reload
$ sudo ufw status

На этом этапе мы получим доступ к Ubuntu из Windows и Linux с помощью клиента RDC. Но прежде чем мы это сделаем, сначала убедитесь, что вы выйшли из Ubuntu. Xrdp поддерживает только одну Xsession.

Затем запустите клиент и введите IP-адрес удаленной системы и нажмите кнопку «Подключиться».

Во всплывающем окне система потребует проверить идентичность вашей удаленной системы, проигнорируйте ошибки сертификата и нажмите кнопку 'Далее', чтобы продолжить подключение.

На странице входа Xrdp укажите свои учетные данные для входа и нажмите 'Ok'.

ПРИМЕЧАНИЕ: В этот момент вы можете столкнуться с пустым черным экраном, вместо фона рабочего стола Ubuntu. На самом деле это не критично и есть обходной путь для исправления этой ошибки.

Решение довольно простое. Перейдите на удаленную систему и отредактируйте скрипт /etc/xrdp/startwm.sh.

$ sudo nano /etc/xrdp/startwm.sh

Добавьте следующие строки непосредственно перед строками, которые тестируют и выполняют Xsession, как показано на скриншоте ниже.

unset DBUS_SESSION_BUS_ADDRESS
unset XDG_RUNTIME_DIR

Сохраните файл, выйдите и перезапустите службу Xrdp.

$ sudo systemctl restart xrdp

Далее, снова подключаетесь. В данном случае после первоначальной аутентификации, вам нужно будет пройти повторную аутентификацию.