Как установить 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
Шаг 1. Установка Xrdp в Ubuntu 20.04
Для устанвоки Xrdp, в консоле запустите следующую команду:
$ sudo apt -y install xrdp
Сервис Xrdp запускается автоматически после установки. Можно проверить это, запустив команду:
$ sudo systemctl status xrdp
Вывод должен подтвердить, что демон xrdp активен и работает.
Шаг 2. Конфигурирование 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
Шаг 3. Подключаемся к удаленному рабочему столу Ubuntu с RDP-клиентом
На этом этапе мы получим доступ к Ubuntu из Windows и Linux с помощью клиента RDC. Но прежде чем мы это сделаем, сначала убедитесь, что вы выйшли из Ubuntu. Xrdp поддерживает только одну Xsession.
Затем запустите клиент и введите IP-адрес удаленной системы и нажмите кнопку «Подключиться».
Во всплывающем окне система потребует проверить идентичность вашей удаленной системы, проигнорируйте ошибки сертификата и нажмите кнопку 'Далее', чтобы продолжить подключение.
На странице входа Xrdp укажите свои учетные данные для входа и нажмите 'Ok'.
ПРИМЕЧАНИЕ: В этот момент вы можете столкнуться с пустым черным экраном, вместо фона рабочего стола Ubuntu. На самом деле это не критично и есть обходной путь для исправления этой ошибки.
Исправление черного экрана 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
Далее, снова подключаетесь. В данном случае после первоначальной аутентификации, вам нужно будет пройти повторную аутентификацию.