Предисловие
Изначально для подключения к удаленному рабочему столу я пользовался приложением NoMachine, но в последствии я подумал, что дабы не плодить различного рода приложения и сервисы: «А почему бы не воспользоваться встроенным в Windows средством подключения к удаленному рабочему столу для подключения к Linux?». В итоге решил попробовать, и оказалось, что в Ubuntu 20.04 это работает буквально с после пары команд в консоли.
Шаг 1: Установка необходимых пакетов
Выполняем в консоли следующую команду:
sudo apt install xorgxrdp && sudo apt install xrdp
Первая команда устанавливает модули Xorg необходимые для работы службы xrdp, а вторая собственно устанавливает саму службу. После установки мы можем убедиться, что служба запущена и работает, выполнив:
sudo systemctl status xrdp
В результате чего мы должны увидеть примерно следующие строки вывода:
● xrdp.service - xrdp daemon Loaded: loaded (/lib/systemd/system/xrdp.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2021-06-18 18:01:49 +05; 51min ago Docs: man:xrdp(8) man:xrdp.ini(5) Main PID: 669169 (xrdp) Tasks: 2 (limit: 7015) Memory: 23.4M CGroup: /system.slice/xrdp.service ├─669169 /usr/sbin/xrdp └─681100 /usr/sbin/xrdp Jun 18 18:11:48 aquarius xrdp[681100]: (681100)(139831431518016)[DEBUG] xrdp_wm_log_msg: connecting to sesman ip 127.0.0.1 port 3350 Jun 18 18:11:48 aquarius xrdp[681100]: (681100)(139831431518016)[INFO ] xrdp_wm_log_msg: sesman connect ok
Здесь мы можем видеть что сервис вкоючен и активен, а это значит что мы можем перейти к следующему шагу.
Шаг 2: Пользователи XRDP
По умолчанию Xrdp использует файл /etc/ssl/private/ssl-cert-snakeoil.key
, который доступен для чтения только членами группы ssl-cert
. Поэтому нам нужно добавить пользователя, который запускает сервер XRDP, в группу ssl-cert. Для этого выполняем следующую команду:
sudo usermod -aG ssl-cert user_name
Где user_name
— это имя пользователя который будет подключаться по RDP.
После этого шага мы уже можем совершать подключение по протоколу RDP (Remote Desctop Protocol) к нашему удаленному рабочему столу.
Шаг 3: Поключение к удаленному рабочему столу
В моем случае я делаю это в Windows 10, но думаю что любой другой RDP-клиент бует работать не хуже.
Выглядит это примерно так:

Естественно вместо 192.168.0.111 будет IP-адрес или доменное имя машины на которой мы устанавливали сервис xrdp.
После подключения мы увидим следущее:

Вводим имя и пароль пользователя, которого мы добавили в группу ssl-cert
и видим наш удаленный рабочий стол.
Послесловие
Так же, если на удаленной машине никто не будет работать локально, как это сделано у меня, то есть смысл отключить менеджер сессий удаленного рабочего стола одним из двух способов:
Выключить и остановить сервис менеджера сессий, выполнив команды:
sudo systemctl stop lightdm sudo systemctl disable lightdm
либо удалив менеджер в принципе, выполнив:
sudo apt remove lightdm
После чего на этой машине после загрузки будет видно лишь приглашение авторизации в консоль, но подключиться к удаленному рабочему столу мы все равно сможем.
Так же, чтобы не появлялось никаких лишних запросов авторизации связанных с применением цветовой схемы следует создать файл sudo nano /etc/polkit-1/localauthority/50-local.d/45-allow-colord.pkla
[Allow Colord all Users] Identity=unix-user:* Action=org.freedesktop.color-manager.create-device;org.freedesktop.color-manager.create-profile;org.freedesktop.color-manager.delete-device;org.freedesktop.color-manager.delete-profile;org.freedesktop.color-manager.modify-device;org.freedesktop.color-manager.modify-profile ResultAny=no ResultInactive=no ResultActive=yes