Установка xRDP на Ubuntu Desktop 18.04 LTS

22.12.2019

Теги: LinuxUbuntuКонфигурацияНастройкаСерверУстановка

XRDP — это бесплатная реализация RDP (протокола удаленного рабочего стола) Microsoft с открытым исходным кодом, которая позволяет операционным системам, отличным от Microsoft Windows (таким как Linux и BSD), предоставлять полностью функциональный RDP-совместимый удаленный рабочий стол.

Установить xrdp-сервер очень просто:

$ sudo apt install xrdp

После установки сервер уже запущен и добавлен в автозагрузку:

$ systemctl status xrdp
● xrdp.service - xrdp daemon
   Loaded: loaded (/lib/systemd/system/xrdp.service; enabled; vendor preset: ena
   Active: active (running) since Sun 2019-12-22 14:13:24 MSK; 59s ago
     Docs: man:xrdp(8)
           man:xrdp.ini(5)
 Main PID: 2693 (xrdp)
    Tasks: 1 (limit: 3542)
   CGroup: /system.slice/xrdp.service
           └─2693 /usr/sbin/xrdp

Проверить, что сервер работает:

$ systemctl is-active xrdp
active

Запустить или остановить сервер:

$ sudo systemctl start|stop xrdp

Добавить или удалить запуск сервера при загрузке системы:

$ sudo systemctl enable|disable xrdp

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

$ sudo adduser xrdp ssl-cert

После этого можно подключаться, только надо выйти из системы:

Запускаем RDP-клиент Windows:

> mstsc

Вводим логин и пароль:

И тут нас поджидает сюрприз — бирюзовый экран и больше ничего:

Чтобы разобраться в причинах, удалим пакет xrdp и установим заново:

$ sudo systemctl disable xrdp
$ sudo systemctl stop xrdp
$ sudo apt purge xrdp
$ sudo apt install xrdp
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Предлагаемые пакеты:
  guacamole xrdp-pulseaudio-installer
Рекомендуемые пакеты:
  xorgxrdp
Следующие НОВЫЕ пакеты будут установлены:
  xrdp
..........

Рекомендуется к установке пакет xorgxrdp, но он не был установлен:

$ apt list --installed | grep xorgxrdp

Хорошо, давайте установим этот пакет отдельно:

$ sudo apt install xorgxrdp
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Некоторые пакеты не могут быть установлены. Возможно, то, что вы просите,
неосуществимо, или же вы используете нестабильную версию дистрибутива, где
запрошенные вами пакеты ещё не созданы или были удалены из Incoming.
Следующая информация, возможно, вам поможет:

Следующие пакеты имеют неудовлетворённые зависимости:
 xorgxrdp : Зависит: xorg-video-abi-23
            Зависит: xserver-xorg-core (>= 2:1.18.99.901)
E: Невозможно исправить ошибки: у вас зафиксированы сломанные пакеты.

Пакет невозможно установить, потому что имеются неудовлетворённые зависимости. Установим зависимости вручную:

$ sudo apt install xserver-xorg-core
$ sudo apt install xserver-xorg-input-all

И повторяем установку пакета xorgxrdp:

$ sudo apt install xorgxrdp

Вроде все установилось. Выходим из системы и еще раз пробуем подключиться по RDP:

Установка с помощью скрипта

В процессе поиска решения проблем с xRDP нашел несколько статей на сайте «Griffon's IT Library». Оказывается, кроме проблемы с установкой пакета xorgxrdp, есть еще и проблема с передачей звука. Поэтому ребята из «Griffon's IT Library» написали скрипт, который выполняет всю работу по установке xRDP и позвляет обойти все подводные камни.

Скрипт можно запускать как без ключей, так и с одним или несколькими ключами:

  • Запуск без ключей просто установит сервер xRDP
  • Запуск с ключом -s позволяет решить проблемы со звуком
  • Запуск с ключом -l настроит экран входа в систему
  • Запуск с ключом -c скомпилирует xrdp из исходников
  • Запуск с ключом -r удалит пакет xrdp из системы

Скрипт может быть запущен несколько раз на одном компьютере. Если скрипт изначально был запущен без ключей, его можно будет выполнить повторно с одним или несколькими ключами.

Мне удалось установить xRDP с использованием ключей -s и -l. Запуск без ключей и запуск с ключом -c приводил к тем или иным проблемам.

Для начала скачиваем сам скрипт:

Запускаем терминал, переходим в директорию Загрузки:

$ cd ~/Загрузки/
$ unzip xrdp-installer-1.1.zip
$ chmod +x xrdp-installer-1.1.sh
$ ./xrdp-installer-1.1.sh -l -s

Обратите внимание, что скрипт надо запускать без использования sudo — в процессе установки будет запрошен пароль.

Теперь можно проверять подключение по RDP, только предварительно выходим из системы. Окошко входа теперь выглядит иначе — потому что был использован ключ -l при запуске скрипта:

Звук тоже есть:

А вот с подключением дисков Windows есть проблемы. При первом подключении они доступны, а при повторном — уже нет:

Разработчики xRDP уже знают об этой проблеме, осталось только дождаться исправления этого бага.

Ребята из «Griffon's IT Library» выпустили новую версию скрипта, который устанавливает xRDP, в том числе и для Ubuntu 20.04 — подробнее см. здесь.
Ребята из «Griffon's IT Library» периодически выпускают новые версии скрипта, который устанавливает xRDP, последнюю версию можно найти здесь.

Поиск: Linux • Ubuntu • Сервер • Установка • Конфигурация • Настройка • RDP • Клиент

Каталог оборудования
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Производители
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Функциональные группы
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.