Меню

Linux. Удаленный рабочий стол на Ubuntu

Доброго времени суток дорогие читатели. Ранее я писал о подключении к удаленному рабочему столу Linux. В примере использовалось подключение рабочих столов KDE и XFCE. Сегодня рассмотрим как подключить удаленный рабочий стол Ubuntu который установлен в системе.
Подключиться к рабочему столу Ubuntu можно с использованием VNC либо RDP. Я выбрал второй, благодаря тому что RDP клиент установлен во всех WIndows системах он очень популярен. Для подключения к Ubuntu по RDP необходимо установить ПО XRDP.
Тестировать подключение к рабочему столу я буду на Ubuntu 20.04. Пакет XRDP также последний на данный момент.
Установка XRDP

Установка XRDP на Ubuntu делается командой

sudo apt install xrdp


В процессе установки будет автоматически сгенерирован сертификат для шифрования RDP соединения.

Надпись ssl_gen_key_xrdp ok свидетельствует о том что процесс генерации сертификата прошел успешно.
Добавим сервис xrdp в автозагрузку

sudo systemctl enable xrdp

Проверим статус xrdp

sudo systemctl status xrdp


Статус active говорит о том что сервис запущен и работает.

Настройка XRDP
Настроим брандмауэр
Необходимо открыть порт в брандмауэре. Давайте проверим включен ли он вообще

sudo ufw status

Если status указан inactive советую включить брандмауэр. Делается это командой

sudo ufw enable

Только будьте осторожны если подключены удаленно, например по SSH, т.к. порт может быть закрыт.
По умолчанию протокол RDP использует порт 3389. Откроем данный порт используя брандмауэр UFW

sudo ufw allow from 172.16.169.0/24 to any port 3389

Теперь любой клиент из подсети 172.16.169.0 сможет подключиться к Ubuntu используя протокол RDP.
Попросим брандмауэр перечитать правила доступа для применения настроек

sudo ufw reload

Посмотрим статус UFW

sudo ufw status

Разрешим использовать сертификат
Добавим пользователя xrdp в группу ssl-cert для возможности использования ранее созданного сертификата.

sudo adduser xrdp ssl-cert

Перезапустим xrdp чтобы применить изменения

sudo systemctl restart xrdp

 

Подключение к рабочему столу Ubuntu
Проверим подключение к рабочему столу Ubuntu используя встроенный в Windows клиент удаленного рабочего стола.
Для подключения нам потребуется имя сервера, либо IP адрес и логин/пароль для входа. Узнать IP адрес в Ubuntu можно так

sudo ip a


Переходим к подключению. Запустим клиент удаленного рабочего стола, в Windows он называется: Подключение к удаленному рабочему столу. Вводим IP адрес и нажимаем Подключить

Система будет выводить предупреждения и возможно задавать вопросы, со всем соглашаемся. И в открывшемся окне вводим Username и Password от входа в Ubuntu.

Смена раскладки клавиатуры происходит клавишами Windows+Пробел. Если раскладка не меняется, необходимо закрыть окно Удаленного подключения, поменять раскладку и снова подключиться.
С большей долей вероятности при первом подключении будет черный экран. Как это исправить читаем далее.

Черный экран при подключении к Ubuntu
Для решения этой проблемы нужно добавить две строки в файл startwm.sh

sudo nano /etc/xrdp/startwm.sh

Найти строку

test –x /etc/X11/Xsession && exec /etc/X11/Xsession

И перед ней добавить

unset DBUS_SESSION_BUS_ADDRESS
unset XDG_RUNTIME_DIR


После сохранения файла перезапустим Ubuntu

sudo reboot

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

Изменение языка ввода
Если вы хотите добавить возможность переключать раскладку клавиатуры при подключении по RDP, то необходимо внести следующие изменения в файлы:

nano /etc/xrdp/xrdp_keyboard.ini
[layouts_map_ru]
rdp_layout_us=us,ru
rdp_layout_ru=us,ru
 
[rdp_keyboard_ru]
keyboard_type=4
keyboard_type=7
keyboard_subtype=1
rdp_layouts=default_rdp_layouts
layouts_map=layouts_map_ru
nano /etc/default/keyboard
XKBMODEL="pc105"
XKBLAYOUT="us,ru"
XKBOPTIONS="grp:caps_toggle"
 
BACKSPACE="guess"

Мы настроили удаленный рабочий стол Ubuntu с подключением по RDP.

На этом Все!!! Всем Удачи!!!