Представьте типичную задачу администратора: есть Linux-сервер, виртуальная машина в облаке или рабочая станция без монитора. Терминал с SSH есть, но нужно не просто поправить конфиг, а открыть браузер, IDE, графическую консоль, панель управления или приложение с GUI.
В Windows для этого есть привычный сценарий: запускаем Remote Desktop Connection, вводим адрес, логин, пароль и попадаем на удаленный рабочий стол. В Linux похожую функцию выполняет xrdp.
хrdp – это RDP-сервер с открытым исходным кодом для Linux. Он принимает подключение от RDP-клиента и передает пользователю графическую сессию удаленной машины. Сервер поддерживает подключение различных клиентов: FreeRDP, rdesktop, NeutrinoRDP и Microsoft Remote Desktop Client (для Windows, macOS, iOS и Android).
RDP – это протокол. xrdp – это сервер, который реализует этот протокол на стороне Linux.
В Windows серверная часть RDP обычно уже встроена в редакции Pro, Enterprise и Server. В Linux такой встроенной стандартной RDP-службы обычно нет. Поэтому между RDP-клиентом и Linux-десктопом нужен посредник. Эту роль и берет на себя xrdp.
На практике это полезно в четырех сценариях.
Пользователь открывает RDP-клиент, например mstsc в Windows, Remmina в Linux или совместимый клиент на macOS. Вводит адрес Linux-машины и подключается к xrdp.
Сервер xrdp принимает соединение, показывает окно входа, передает логин и пароль в менеджер сессий xrdp-sesman. После успешной аутентификации запускается графическая сессия Linux.
Внутри могут использоваться разные бэкенды. Самый практичный вариант для современных установок, Xorg через xorgxrdp. В документации xrdp сказано, что для лучшего опыта обычно нужны пакеты xrdp и xorgxrdp, а если xorgxrdp недоступен, можно использовать Xvnc.
Сам xrdp не заменяет среду рабочего стола. Для работы по-прежнему требуется Xfce, GNOME, KDE Plasma, MATE или другое окружение. Поэтому установка только пакета xrdp иногда приводит к черному экрану: сервер работает и принимает логин, но графическая сессия не запускается.
В типичной установке есть несколько важных компонентов.
xrdp – основной демон. Он слушает входящие RDP-подключения, обычно на порте 3389/tcp, и отвечает за первичное взаимодействие с клиентом.
xrdp-sesman – менеджер сессий. Он запускает и сопровождает пользовательские сессии. В файле sesman.ini настраиваются, например, лимиты сессий, скрипт запускtlsа рабочего стола, доступ по группам и параметры безопасности. В manpage для sesman.ini указано, что DefaultWindowManager по умолчанию указывает на /etc/xrdp/startwm.sh, а UserWindowManager позволяет использовать пользовательский скрипт запуска.
Xorgxrdp – драйверы для Xorg, которые позволяют X-серверу работать внутри RDP-сессии. Разработчики xorgxrdp прямо указывают, что при входе через RDP-клиент нужно выбирать Xorg, а xrdp-sesman запустит Xorg с конфигурацией, которая активирует модули xorgxrdp.
xrdp-chansrv – сервер каналов RDP. Он отвечает за дополнительные возможности: буфер обмена, звук, перенаправление устройств и другие функции.
Большинство практических конфигураций xrdp по-прежнему опирается на Xorg или Xvnc. Wayland может потребовать дополнительной настройки, поэтому для первой установки удобнее использовать Xorg и легкую среду рабочего стола наподобие Xfce.

xrdp поддерживает протокол TLS: на официальном сайте проекта указано, что RDP-транспорт по умолчанию шифруется TLS. Там же перечислены возможности вроде двустороннего буфера обмена, перенаправления звука и подключенных накопителей. Но шифрование транспорта не делает открытый порт 3389/tcp безопасным для публикации в интернете.
Злоумышленики постоянно сканируют RDP-сервисы. Открытый порт привлекает попытки подбора паролей и увеличивает риск эксплуатации уязвимостей. Поэтому необходимо дополнительно настоить сервер. Минимальный набор мер безопасности такой:
В sesman.ini есть параметры AllowRootLogin, MaxLoginRetry, TerminalServerUsers и AlwaysGroupCheck. Они позволяют ограничить вход отдельной группой и не открывать терминальный сервер всем локальным пользователям.
Пример жесткой настройки доступа:
[Security]
AllowRootLogin=false
MaxLoginRetry=3
TerminalServerUsers=rdpusers
AlwaysGroupCheck=true
После этого необходимо создаеть группу (rdpusers) и добавить в нее нужного пользователя (alice):
sudo groupadd rdpusers
sudo usermod -aG rdpusers alice
sudo systemctl restart xrdp
Ниже команды для популярных семейств дистрибутивов. Перед установкой лучше иметь локальный или консольный доступ к машине, чтобы не потерять управление при ошибке в настройке межсетевого экрана.
На Ubuntu xrdp есть в официальных пакетах. В списке пакетов Ubuntu он представлен для актуальных веток, включая 22.04 LTS, 24.04 LTS и последующие релизы.
Установка базового набора:
sudo apt update
sudo apt install xrdp xorgxrdp xfce4 xfce4-goodies
sudo systemctl enable –now xrdp
Настраиваем Xfce для текущего пользователя:
echo “startxfce4” > ~/.xsession
chmod 600 ~/.xsession
На Debian и Ubuntu иногда требуется дать пользователю xrdp доступ к группе сертификатов, если пакет использует системный TLS-ключ из ssl-cert:
sudo usermod -aG ssl-cert xrdp
sudo systemctl restart xrdp
Проверяем, что сервис работает:
systemctl status xrdp
systemctl status xrdp-sesman
Проверяем порт:
sudo ss -ltnp | grep 3389
Если включен ufw, не открывайте порт всем. Лучше разрешить только вашу подсеть:
sudo ufw allow from 10.10.0.0/24 to any port 3389 proto tcp
sudo ufw reload
Для Debian схема почти такая же.
Команды для установки и запуска:
sudo apt update
sudo apt install xrdp xorgxrdp xfce4 xfce4-goodies
sudo systemctl enable –now xrdp
echo “startxfce4” > ~/.xsession
chmod 600 ~/.xsession
sudo systemctl restart xrdp
Для диагностики используйте:
systemctl status xrdp
systemctl status xrdp-sesman
sudo journalctl -u xrdp -n 100
sudo journalctl -u xrdp-sesman -n 100
В мире CentOS и RHEL-подобных дистрибутивов xrdp часто ставят через EPEL. Red Hat описывает EPEL как репозиторий, который поддерживается Fedora packagers и используется для CentOS Stream и RHEL. Для CentOS Stream перед установкой EPEL нужно включить CRB, затем установить epel-release и epel-next-release.
Для CentOS Stream 9:
sudo dnf config-manager –set-enabled crb
sudo dnf install epel-release epel-next-release
sudo dnf install xrdp xorgxrdp xfce4-session xfce4-panel xfce4-terminal
sudo systemctl enable –now xrdp
Настраиваем Xfce:
echo “startxfce4” > ~/.xsession
chmod 600 ~/.xsession
sudo systemctl restart xrdp
Открываем доступ только для нужной подсети:
sudo firewall-cmd –permanent –add-rich-rule=’rule family=”ipv4″ source address=”10.10.0.0/24″ port port=”3389″ protocol=”tcp” accept’
sudo firewall-cmd –reload
Если вы работаете не с CentOS Stream, а с Rocky Linux, AlmaLinux или RHEL, команды могут немного отличаться в части репозиториев и названий групп пакетов. Логика та же: включить нужный репозиторий, установить xrdp, xorgxrdp и desktop environment, запустить службу, открыть порт только для доверенной сети.
Минимальный пользовательский запуск Xfce:
echo “startxfce4” > ~/.xsession
chmod 600 ~/.xsession
sudo systemctl restart xrdp
Если нужно задать запуск для всех пользователей, отредактируйте файл /etc/xrdp/startwm.sh. В файле sesman.ini имеется параметр DefaultWindowManager, который задает путь по умолчанию к этому скрипту запуска графического окружения, поэтому это центральная точка запуска графической сессии.
Перед его изменением сделайте копию:
sudo cp /etc/xrdp/startwm.sh /etc/xrdp/startwm.sh.bak
sudo nano /etc/xrdp/startwm.sh
В начало пользовательской части запуска часто добавляют очистку переменных, которые мешают новой удаленной сессии:
unset DBUS_SESSION_BUS_ADDRESS
unset XDG_RUNTIME_DIR
startxfce4
После изменения перезапустите xrdp:
sudo systemctl restart xrdp
По умолчанию RDP использует 3389/tcp, и xrdp тоже слушает 3389/tcp. Это указано в официальном README проекта.
Порт меняется в /etc/xrdp/xrdp.ini:
[Globals]
port=3390
После изменения перезапустите xrdp.
Учтите, что смена порта не является полноценной защитой. Она уменьшает количество простых сканирований, но не заменяет VPN, межсетевой экран и надежную аутентификацию.
В xrdp.ini можно указать сертификат и приватный ключ. Manpage для xrdp.ini описывает параметры certificate и key_file, а также security_layer. При security_layer=tls используется Enhanced RDP Security через TLS.
Пример:
[Globals]
security_layer=tls
certificate=/etc/xrdp/cert.pem
key_file=/etc/xrdp/key.pem
После замены сертификатов проверьте права на приватный ключ. У сервиса xrdp должен быть доступ к ключу, но этот ключ не должен быть открыт всем пользователям системы.
xrdp умеет передавать не только картинку и ввод. Он также может пробрасывать из удаленной сессии буфер обмена, звук и устройства, например, накопители. В xrdp.ini есть раздел Channels: rdpdr отвечает за перенаправление устройств, rdpsnd за звук, cliprdr за буфер обмена.
Если машина используется для работы с чувствительными данными, можно отключить лишнее:
[Channels]
cliprdr=false
rdpdr=false
rdpsnd=false
После изменения перезапустите xrdp.
Откройте меню Start, наберите Remote Desktop Connection или нажмите Win + R и выполните:
mstsc
Дальше введите адрес вашего xrdp-сервера:
192.168.1.2
Если порт нестандартный:
192.168.1.2:3390
После подключения xrdp покажет экран входа. В поле Session обычно выбирают Xorg. Затем вводят логин и пароль пользователя Linux.
Важный момент: используйте обычного пользователя, не root. Для админских задач внутри сессии есть sudo.
Один из самых удобных графических клиентов под Linux – Remmina. Использовать его просто: создайте новое подключение, выберите RDP, укажите адрес, логин и пароль. Если нужна динамическая смена размера окна, включите соответствующую опцию в профиле подключения.
Из терминала можно использовать FreeRDP:
xfreerdp /v:192.168.1.50:3389 /u:alice /dynamic-resolution
На macOS можно использовать RDP-клиент Microsoft из App Store или другой совместимый клиент. xrdp принимает подключения от Microsoft Remote Desktop Client, включая клиент для macOS, iOS и Android.
Сценарий подключения тот же: адрес сервера, порт, логин Linux-пользователя, выбор Xorg на экране входа xrdp.
Проверьте статус сервисов и сетевых соединений:
systemctl status xrdp
systemctl status xrdp-sesman
sudo ss -ltnp | grep 3389
Проверьте межсетевой экран на сервере, security group в облаке, VPN-маршруты и локальный межсетевой экран на клиенте. Для начала убедитесь, что с клиента вообще виден порт 3389 или измененный вами порт.
Возможные причины:
Быстрый ремонт для Xfce:
sudo apt install xrdp xorgxrdp xfce4 xfce4-goodies
echo “startxfce4” > ~/.xsession
chmod 600 ~/.xsession
sudo systemctl restart xrdp
На RHEL-подобной системе используйте dnf и соответствующие пакеты Xfce.
Смотрите журналы:
sudo journalctl -u xrdp -n 100
sudo journalctl -u xrdp-sesman -n 100
ls -la ~/.xsession
cat ~/.xsession
Проверьте раздел Channels в /etc/xrdp/xrdp.ini. Также помните, что включенный параметр в xrdp.ini еще не гарантирует работу функции во всех клиентах и окружениях. Manpage xrdp.ini отдельно предупреждает, что поддержка канала является предварительным условием, но не 
;гарантирует поддержку этой возможности клиентом или графическим окружением.
Сервер. xrdp ставится на Linux-машину, к которой нужно подключаться. Клиент находится на вашем компьютере: mstsc в Windows, Remmina или FreeRDP в Linux, RDP-клиент на macOS. Официальное описание проекта прямо называет xrdp open-source Remote Desktop Protocol server.
Графическая среда Xfce легковесная, потребляет сравнительно мало памяти, быстро запускается и хорошо работает в X11-сессии. Для удаленной работы это важнее, чем красивые анимации.
GNOME, KDE или Mate тоже можно использовать, но у них чаще всплывают нюансы: Wayland вместо Xorg, конфликты с локальной пользовательской сессией, политики блокировки, дополнительные службы сессии. Поэтому если ваша цель – быстро получить рабочий удаленный Linux-десктоп, Xfce часто оказывается лучшим первым выбором.
Позже, когда базовое подключение заработало, можно экспериментировать с другими графическими средами.

Как сервер, xrdp в первую очередь нацелен на GNU/Linux. В README проекта сказано, что xrdp primarily targets GNU/Linux operating system.
Но Windows отлично работает как клиент. То есть схема обычно такая: Windows-клиент подключается к Linux-серверу с xrdp.
Иногда да, особенно если клиент и сеть хорошо работают с RDP, а удаленная среда легкая. Но все зависит от множества параметров.
Скорость определяют среда рабочего стола, сеть, разрешение экрана, серверный CPU, выбранный бэкенд, настройки цвета, сжатие, клиент и количество графики на экране. xrdp удобен тем, что использует привычный RDP-клиент, поддерживает переподключение к сессии и дополнительные возможности вроде буфера обмена и перенаправления устройств.
Если цель, максимально простой доступ к одному экрану, VNC может быть достаточно. Если цель, интеграция с RDP-клиентами и привычный опыт для Windows-пользователей, xrdp часто удобнее.
Частично. Обычно надежнее всего работают буфер обмена и перенаправление дисков. Принтеры, смарт-карты, камеры и USB-ключи необходимо проверять в конкретной конфигурации клиента, сервера и политик безопасности. Звук иногда придется отдельно настраивать через PipeWire или PulseAudio-модули, в зависимости от дистрибутива и версии xrdp.
Частично да. xrdp поддерживает RDP-каналы для буфера обмена, звука и перенаправления устройств. Но «проброс периферии» не означает, что любое USB-устройство заработает как локальное. Надежнее всего обычно работают буфер обмена и подключенные диски. Принтеры, смарт-карты, камеры и специализированные USB-ключи требуют отдельной проверки в вашей связке «клиент + сервер + политика безопасности».
Представьте типичную задачу администратора: есть Linux-сервер, виртуальная машина в облаке или рабочая станция без монитора. Терминал с SSH есть, но нужно не просто поправить конфиг, а открыть браузер, IDE, графическую консоль, панель управления или приложение с GUI.
В Windows для этого есть привычный сценарий: запускаем Remote Desktop Connection, вводим адрес, логин, пароль и попадаем на удаленный рабочий стол. В Linux похожую функцию выполняет xrdp.
хrdp – это RDP-сервер с открытым исходным кодом для Linux. Он принимает подключение от RDP-клиента и передает пользователю графическую сессию удаленной машины. Сервер поддерживает подключение различных клиентов: FreeRDP, rdesktop, NeutrinoRDP и Microsoft Remote Desktop Client (для Windows, macOS, iOS и Android).
RDP – это протокол. xrdp – это сервер, который реализует этот протокол на стороне Linux.
В Windows серверная часть RDP обычно уже встроена в редакции Pro, Enterprise и Server. В Linux такой встроенной стандартной RDP-службы обычно нет. Поэтому между RDP-клиентом и Linux-десктопом нужен посредник. Эту роль и берет на себя xrdp.
На практике это полезно в четырех сценариях.
Пользователь открывает RDP-клиент, например mstsc в Windows, Remmina в Linux или совместимый клиент на macOS. Вводит адрес Linux-машины и подключается к xrdp.
Сервер xrdp принимает соединение, показывает окно входа, передает логин и пароль в менеджер сессий xrdp-sesman. После успешной аутентификации запускается графическая сессия Linux.
Внутри могут использоваться разные бэкенды. Самый практичный вариант для современных установок, Xorg через xorgxrdp. В документации xrdp сказано, что для лучшего опыта обычно нужны пакеты xrdp и xorgxrdp, а если xorgxrdp недоступен, можно использовать Xvnc.
Сам xrdp не заменяет среду рабочего стола. Для работы по-прежнему требуется Xfce, GNOME, KDE Plasma, MATE или другое окружение. Поэтому установка только пакета xrdp иногда приводит к черному экрану: сервер работает и принимает логин, но графическая сессия не запускается.
В типичной установке есть несколько важных компонентов.
xrdp – основной демон. Он слушает входящие RDP-подключения, обычно на порте 3389/tcp, и отвечает за первичное взаимодействие с клиентом.
xrdp-sesman – менеджер сессий. Он запускает и сопровождает пользовательские сессии. В файле sesman.ini настраиваются, например, лимиты сессий, скрипт запускtlsа рабочего стола, доступ по группам и параметры безопасности. В manpage для sesman.ini указано, что DefaultWindowManager по умолчанию указывает на /etc/xrdp/startwm.sh, а UserWindowManager позволяет использовать пользовательский скрипт запуска.
Xorgxrdp – драйверы для Xorg, которые позволяют X-серверу работать внутри RDP-сессии. Разработчики xorgxrdp прямо указывают, что при входе через RDP-клиент нужно выбирать Xorg, а xrdp-sesman запустит Xorg с конфигурацией, которая активирует модули xorgxrdp.
xrdp-chansrv – сервер каналов RDP. Он отвечает за дополнительные возможности: буфер обмена, звук, перенаправление устройств и другие функции.
Большинство практических конфигураций xrdp по-прежнему опирается на Xorg или Xvnc. Wayland может потребовать дополнительной настройки, поэтому для первой установки удобнее использовать Xorg и легкую среду рабочего стола наподобие Xfce.

xrdp поддерживает протокол TLS: на официальном сайте проекта указано, что RDP-транспорт по умолчанию шифруется TLS. Там же перечислены возможности вроде двустороннего буфера обмена, перенаправления звука и подключенных накопителей. Но шифрование транспорта не делает открытый порт 3389/tcp безопасным для публикации в интернете.
Злоумышленики постоянно сканируют RDP-сервисы. Открытый порт привлекает попытки подбора паролей и увеличивает риск эксплуатации уязвимостей. Поэтому необходимо дополнительно настоить сервер. Минимальный набор мер безопасности такой:
В sesman.ini есть параметры AllowRootLogin, MaxLoginRetry, TerminalServerUsers и AlwaysGroupCheck. Они позволяют ограничить вход отдельной группой и не открывать терминальный сервер всем локальным пользователям.
Пример жесткой настройки доступа:
[Security]
AllowRootLogin=false
MaxLoginRetry=3
TerminalServerUsers=rdpusers
AlwaysGroupCheck=true
После этого необходимо создаеть группу (rdpusers) и добавить в нее нужного пользователя (alice):
sudo groupadd rdpusers
sudo usermod -aG rdpusers alice
sudo systemctl restart xrdp
Ниже команды для популярных семейств дистрибутивов. Перед установкой лучше иметь локальный или консольный доступ к машине, чтобы не потерять управление при ошибке в настройке межсетевого экрана.
На Ubuntu xrdp есть в официальных пакетах. В списке пакетов Ubuntu он представлен для актуальных веток, включая 22.04 LTS, 24.04 LTS и последующие релизы.
Установка базового набора:
sudo apt update
sudo apt install xrdp xorgxrdp xfce4 xfce4-goodies
sudo systemctl enable –now xrdp
Настраиваем Xfce для текущего пользователя:
echo “startxfce4” > ~/.xsession
chmod 600 ~/.xsession
На Debian и Ubuntu иногда требуется дать пользователю xrdp доступ к группе сертификатов, если пакет использует системный TLS-ключ из ssl-cert:
sudo usermod -aG ssl-cert xrdp
sudo systemctl restart xrdp
Проверяем, что сервис работает:
systemctl status xrdp
systemctl status xrdp-sesman
Проверяем порт:
sudo ss -ltnp | grep 3389
Если включен ufw, не открывайте порт всем. Лучше разрешить только вашу подсеть:
sudo ufw allow from 10.10.0.0/24 to any port 3389 proto tcp
sudo ufw reload
Для Debian схема почти такая же.
Команды для установки и запуска:
sudo apt update
sudo apt install xrdp xorgxrdp xfce4 xfce4-goodies
sudo systemctl enable –now xrdp
echo “startxfce4” > ~/.xsession
chmod 600 ~/.xsession
sudo systemctl restart xrdp
Для диагностики используйте:
systemctl status xrdp
systemctl status xrdp-sesman
sudo journalctl -u xrdp -n 100
sudo journalctl -u xrdp-sesman -n 100
В мире CentOS и RHEL-подобных дистрибутивов xrdp часто ставят через EPEL. Red Hat описывает EPEL как репозиторий, который поддерживается Fedora packagers и используется для CentOS Stream и RHEL. Для CentOS Stream перед установкой EPEL нужно включить CRB, затем установить epel-release и epel-next-release.
Для CentOS Stream 9:
sudo dnf config-manager –set-enabled crb
sudo dnf install epel-release epel-next-release
sudo dnf install xrdp xorgxrdp xfce4-session xfce4-panel xfce4-terminal
sudo systemctl enable –now xrdp
Настраиваем Xfce:
echo “startxfce4” > ~/.xsession
chmod 600 ~/.xsession
sudo systemctl restart xrdp
Открываем доступ только для нужной подсети:
sudo firewall-cmd –permanent –add-rich-rule=’rule family=”ipv4″ source address=”10.10.0.0/24″ port port=”3389″ protocol=”tcp” accept’
sudo firewall-cmd –reload
Если вы работаете не с CentOS Stream, а с Rocky Linux, AlmaLinux или RHEL, команды могут немного отличаться в части репозиториев и названий групп пакетов. Логика та же: включить нужный репозиторий, установить xrdp, xorgxrdp и desktop environment, запустить службу, открыть порт только для доверенной сети.
Минимальный пользовательский запуск Xfce:
echo “startxfce4” > ~/.xsession
chmod 600 ~/.xsession
sudo systemctl restart xrdp
Если нужно задать запуск для всех пользователей, отредактируйте файл /etc/xrdp/startwm.sh. В файле sesman.ini имеется параметр DefaultWindowManager, который задает путь по умолчанию к этому скрипту запуска графического окружения, поэтому это центральная точка запуска графической сессии.
Перед его изменением сделайте копию:
sudo cp /etc/xrdp/startwm.sh /etc/xrdp/startwm.sh.bak
sudo nano /etc/xrdp/startwm.sh
В начало пользовательской части запуска часто добавляют очистку переменных, которые мешают новой удаленной сессии:
unset DBUS_SESSION_BUS_ADDRESS
unset XDG_RUNTIME_DIR
startxfce4
После изменения перезапустите xrdp:
sudo systemctl restart xrdp
По умолчанию RDP использует 3389/tcp, и xrdp тоже слушает 3389/tcp. Это указано в официальном README проекта.
Порт меняется в /etc/xrdp/xrdp.ini:
[Globals]
port=3390
После изменения перезапустите xrdp.
Учтите, что смена порта не является полноценной защитой. Она уменьшает количество простых сканирований, но не заменяет VPN, межсетевой экран и надежную аутентификацию.
В xrdp.ini можно указать сертификат и приватный ключ. Manpage для xrdp.ini описывает параметры certificate и key_file, а также security_layer. При security_layer=tls используется Enhanced RDP Security через TLS.
Пример:
[Globals]
security_layer=tls
certificate=/etc/xrdp/cert.pem
key_file=/etc/xrdp/key.pem
После замены сертификатов проверьте права на приватный ключ. У сервиса xrdp должен быть доступ к ключу, но этот ключ не должен быть открыт всем пользователям системы.
xrdp умеет передавать не только картинку и ввод. Он также может пробрасывать из удаленной сессии буфер обмена, звук и устройства, например, накопители. В xrdp.ini есть раздел Channels: rdpdr отвечает за перенаправление устройств, rdpsnd за звук, cliprdr за буфер обмена.
Если машина используется для работы с чувствительными данными, можно отключить лишнее:
[Channels]
cliprdr=false
rdpdr=false
rdpsnd=false
После изменения перезапустите xrdp.
Откройте меню Start, наберите Remote Desktop Connection или нажмите Win + R и выполните:
mstsc
Дальше введите адрес вашего xrdp-сервера:
192.168.1.2
Если порт нестандартный:
192.168.1.2:3390
После подключения xrdp покажет экран входа. В поле Session обычно выбирают Xorg. Затем вводят логин и пароль пользователя Linux.
Важный момент: используйте обычного пользователя, не root. Для админских задач внутри сессии есть sudo.
Один из самых удобных графических клиентов под Linux – Remmina. Использовать его просто: создайте новое подключение, выберите RDP, укажите адрес, логин и пароль. Если нужна динамическая смена размера окна, включите соответствующую опцию в профиле подключения.
Из терминала можно использовать FreeRDP:
xfreerdp /v:192.168.1.50:3389 /u:alice /dynamic-resolution
На macOS можно использовать RDP-клиент Microsoft из App Store или другой совместимый клиент. xrdp принимает подключения от Microsoft Remote Desktop Client, включая клиент для macOS, iOS и Android.
Сценарий подключения тот же: адрес сервера, порт, логин Linux-пользователя, выбор Xorg на экране входа xrdp.
Проверьте статус сервисов и сетевых соединений:
systemctl status xrdp
systemctl status xrdp-sesman
sudo ss -ltnp | grep 3389
Проверьте межсетевой экран на сервере, security group в облаке, VPN-маршруты и локальный межсетевой экран на клиенте. Для начала убедитесь, что с клиента вообще виден порт 3389 или измененный вами порт.
Возможные причины:
Быстрый ремонт для Xfce:
sudo apt install xrdp xorgxrdp xfce4 xfce4-goodies
echo “startxfce4” > ~/.xsession
chmod 600 ~/.xsession
sudo systemctl restart xrdp
На RHEL-подобной системе используйте dnf и соответствующие пакеты Xfce.
Смотрите журналы:
sudo journalctl -u xrdp -n 100
sudo journalctl -u xrdp-sesman -n 100
ls -la ~/.xsession
cat ~/.xsession
Проверьте раздел Channels в /etc/xrdp/xrdp.ini. Также помните, что включенный параметр в xrdp.ini еще не гарантирует работу функции во всех клиентах и окружениях. Manpage xrdp.ini отдельно предупреждает, что поддержка канала является предварительным условием, но не 
;гарантирует поддержку этой возможности клиентом или графическим окружением.
Сервер. xrdp ставится на Linux-машину, к которой нужно подключаться. Клиент находится на вашем компьютере: mstsc в Windows, Remmina или FreeRDP в Linux, RDP-клиент на macOS. Официальное описание проекта прямо называет xrdp open-source Remote Desktop Protocol server.
Графическая среда Xfce легковесная, потребляет сравнительно мало памяти, быстро запускается и хорошо работает в X11-сессии. Для удаленной работы это важнее, чем красивые анимации.
GNOME, KDE или Mate тоже можно использовать, но у них чаще всплывают нюансы: Wayland вместо Xorg, конфликты с локальной пользовательской сессией, политики блокировки, дополнительные службы сессии. Поэтому если ваша цель – быстро получить рабочий удаленный Linux-десктоп, Xfce часто оказывается лучшим первым выбором.
Позже, когда базовое подключение заработало, можно экспериментировать с другими графическими средами.

Как сервер, xrdp в первую очередь нацелен на GNU/Linux. В README проекта сказано, что xrdp primarily targets GNU/Linux operating system.
Но Windows отлично работает как клиент. То есть схема обычно такая: Windows-клиент подключается к Linux-серверу с xrdp.
Иногда да, особенно если клиент и сеть хорошо работают с RDP, а удаленная среда легкая. Но все зависит от множества параметров.
Скорость определяют среда рабочего стола, сеть, разрешение экрана, серверный CPU, выбранный бэкенд, настройки цвета, сжатие, клиент и количество графики на экране. xrdp удобен тем, что использует привычный RDP-клиент, поддерживает переподключение к сессии и дополнительные возможности вроде буфера обмена и перенаправления устройств.
Если цель, максимально простой доступ к одному экрану, VNC может быть достаточно. Если цель, интеграция с RDP-клиентами и привычный опыт для Windows-пользователей, xrdp часто удобнее.
Частично. Обычно надежнее всего работают буфер обмена и перенаправление дисков. Принтеры, смарт-карты, камеры и USB-ключи необходимо проверять в конкретной конфигурации клиента, сервера и политик безопасности. Звук иногда придется отдельно настраивать через PipeWire или PulseAudio-модули, в зависимости от дистрибутива и версии xrdp.
Частично да. xrdp поддерживает RDP-каналы для буфера обмена, звука и перенаправления устройств. Но «проброс периферии» не означает, что любое USB-устройство заработает как локальное. Надежнее всего обычно работают буфер обмена и подключенные диски. Принтеры, смарт-карты, камеры и специализированные USB-ключи требуют отдельной проверки в вашей связке «клиент + сервер + политика безопасности».
Подпишитесь на наши сообщества и получите ссылку на дистрибутив в чате