Одной из задач по текущему проекту является развернуть терминальный сервер на базе РЕД ОС и в следующих заметках я попробую разные доступные варианты. Начнем пожалуй с xrdp и это open source решение и даже работает.
Что такое XRDP
XRDP (X Remote Desktop Protocol) — это открытая реализация сервера Microsoft Remote Desktop Protocol (RDP) для UNIX‑подобных систем (Linux, BSD и др.). Позволяет удалённо подключаться к графической среде Linux с других устройств — например, с Windows‑ПК через стандартный клиент Remote Desktop Connection.
По сути, XRDP даёт возможность:
- видеть рабочий стол Linux на удалённой машине;
- запускать графические приложения;
- управлять системой, как если бы вы сидели перед ней.
Как работает (в общих чертах)
- На Linux‑машине запущен сервер XRDP.
- Клиент (например, Windows RDP) подключается к серверу по протоколу RDP (по умолчанию порт 3389).
- XRDP создаёт или присоединяется к графической сессии (X11, Xvnc и т. п.) и передаёт экран, ввод клавиатуры/мыши.
- Пользователь работает в удалённой графической среде.
Достоинства
- Совместимость с RDP‑клиентами
Работает со стандартным клиентом Windows, а также с кросс‑платформенными (например, Remmina, FreeRDP). - Простота настройки
Базовая установка и запуск обычно занимают несколько команд; конфигурация — через текстовые файлы. - Открытый исходный код
Бесплатное ПО с активным сообществом, возможность доработки под свои нужды. - Поддержка нескольких сессий
Можно настроить вход для разных пользователей и параллельные сессии (в зависимости от бэкенда). - Интеграция с Linux‑окружением
Поддерживает популярные DE (GNOME, KDE, Xfce и др.) и может использовать VNC в качестве бэкенда. - Шифрование
Поддерживает SSL/TLS для защищённой передачи данных (настраивается).
Недостатки
- Производительность
По сравнению с локальным рабочим столом может быть заметна задержка, особенно при слабой сети или тяжёлой графике. - Ограниченная поддержка 3D/ускорения
Сложные графические приложения (3D‑моделирование, игры) работают плохо или не работают вовсе. - Проблемы с некоторыми DE и приложениями
Не все окружения рабочего стола и приложения идеально ведут себя в удалённой сессии (например, могут быть проблемы с масштабированием, клавиатурой, буфером обмена). - Безопасность
По умолчанию настройки могут быть не максимально защищёнными; требуется ручная настройка SSL, фаервола, аутентификации. - Зависимость от бэкенда
XRDP сам по себе — лишь «прослойка»; качество сессии зависит от того, что используется внизу (X11, VNC и т. п.). - Ограниченная поддержка аудио/видео
Передача звука и видео может требовать дополнительной настройки и не всегда стабильна. - Обновления и совместимость
Иногда новые версии DE или X‑сервера могут ломать совместимость; требуется следить за обновлениями XRDP.
Базовая установка xrdp
Текущая версия xrdp v0.10.4.1 в пакетной базе РЕД ОС на данный момент так-же 0.10.4.1 и следовательно для получения текущей версии ничего из исходных кодов нам собирать не требуется.
# dnf info xrdp.x86_64
Последняя проверка окончания срока действия метаданных: 1 day, 23:49:58 назад, Пн 01 дек 2025 10:20:19.
Имеющиеся пакеты
Имя : xrdp
Эпоха : 1
Версия : 0.10.4.1
Выпуск : 1.red80
Архитектура : x86_64
Размер : 609 k
Источник : xrdp-0.10.4.1-1.red80.src.rpm
Репозиторий : updates
Краткое опис : Open source remote desktop protocol (RDP) server
URL : http://www.xrdp.org/
Лицензия : ASL 2.0 and GPLv2+ and MIT
Описание : xrdp provides a fully functional RDP server compatible with a wide range
: of RDP clients, including FreeRDP and Microsoft RDP client.
Для установки выполним команду:
# dnf install xrdp.x86_64
Настраиваем запуск xrdp.
# systemctl enable --now xrdp xrdp-sesman
Добавляем пользователя в группу xrdp.
# gpasswd -a chernousov xrdp
Подключаемся при помощи xfreerdp и проверяем, что удаленное подключение работает.
$ xfreerdp3 /v:10.213.7.2 /u:chernousov /f /d:IPA
В идеале после ввода пароля вы должны войти на рабочий стол.

Дополнительные настройки xrdp
Настройки xrdp находятся в файле /etc/xrdp/sesman.ini и /etc/xrdp/xrdp.ini вот описания наиболее интересных для тонкой настройки параметров.
Основные настройки XRDP хранятся в нескольких конфигурационных файлах (в зависимости от дистрибутива пути могут незначительно различаться):
/etc/xrdp/xrdp.ini— главный файл, управляет общим поведением сервера;/etc/xrdp/sesman.ini— настройки менеджера сессий (аутентификация, запуск окружения и т. п.);- иногда дополнительно:
/etc/xrdp/startwm.sh— скрипт, определяющий, какое графическое окружение запускать.
Ниже — разбор наиболее важных параметров в каждом из них.
1. /etc/xrdp/xrdp.ini
Этот файл задаёт сетевые настройки, режимы работы и базовые параметры сессий.
port
Порт, на котором слушает XRDP (по умолчанию3389).
Пример:port=3389
Важно: при смене порта нужно открыть его в фаерволе.listen_address
IP‑адрес, на котором сервер принимает подключения.
Примеры:listen_address=0.0.0.0— слушать на всех интерфейсах;listen_address=192.168.1.100— только на конкретном IP.max_sessions
Максимальное число одновременных сессий.
Пример:max_sessions=10idle_timeout
Время (в секундах), через которое неактивная сессия будет завершена.
Пример:idle_timeout=1800(30 минут).security_layer
Уровень безопасности:rdp— базовый RDP‑шифрование (слабее);tls— использование TLS/SSL (рекомендуется);negotiate— попытка согласовать лучший вариант.
Пример:security_layer=tlscertificateиkey_file
Пути к SSL‑сертификату и закрытому ключу (если включён TLS).
Пример:
certificate=/etc/xrdp/cert.pem
key_file=/etc/xrdp/key.pem
crypt_level
Уровень шифрования:low,medium,high.
Пример:crypt_level=highallow_multimon
Разрешить использование нескольких мониторов на клиенте.
Пример:allow_multimon=truebitmap_cache
Включить кэширование изображений для ускорения отрисовки.
Пример:bitmap_cache=truemax_bpp
Максимальная глубина цвета (bits per pixel):8,16,24,32.
Пример:max_bpp=24autorun
Команда, запускаемая при входе (например, запуск определённого DE).
Пример:autorun=xfce4-session[Channels]
Секция, включающая/отключающая RDP‑каналы (буфер обмена, диски, принтер и т. п.).
Пример:
cliprdr=true # буфер обмена
drdynvc=true # динамические каналы
disk=true # подключение локальных дисков
2. /etc/xrdp/sesman.ini
Этот файл управляет аутентификацией, сессиями и окружением.
ListenAddressиListenPort
Адрес и порт, на которых слушает менеджер сессий (обычно127.0.0.1:3350).
Пример:
ListenAddress=127.0.0.1
ListenPort=3350
EnableUserWindowManager
Еслиtrue, запускает пользовательский WM (окно‑менеджер) вместо системного.
Пример:EnableUserWindowManager=trueDefaultWindowManager
Команда для запуска оконного менеджера по умолчанию (если не указано иное вstartwm.sh).
Пример:DefaultWindowManager=startxfce4KillDisconnected
Автоматически завершать сессии, от которых отключился клиент.
Пример:KillDisconnected=trueIdleTimeLimit
Время простоя (в секундах) до автоматического завершения сессии.
Пример:IdleTimeLimit=1800MaxLoginRetry
Максимальное число неудачных попыток входа перед блокировкой.
Пример:MaxLoginRetry=3TerminalServerUsers
Группа пользователей, которым разрешён вход (если пусто — всем).
Пример:TerminalServerUsers=tsusersAlwaysGroupCheck
Всегда проверять принадлежность к группеTerminalServerUsers.
Пример:AlwaysGroupCheck=trueAutologin
Включить автовход (не рекомендуется из соображений безопасности).
Пример:Autologin=falseSessionType
Тип сессии:Xorg,X11rdp,Xvncи др.
Пример:SessionType=Xorg
Примечание:Xorg— современный вариант;Xvnc— если нужны совместимости с VNC.SessionEnv
Дополнительные переменные окружения для сессий.
Пример:
SessionEnv=LC_ALL=en_US.UTF-8
SessionEnv=LANG=en_US.UTF-8
3. /etc/xrdp/startwm.sh
Это скрипт (а не INI‑файл), который определяет, какое графическое окружение запускать при входе.
- Основные задачи скрипта:
- проверить, есть ли у пользователя предпочтительное окружение (например, через
~/.xsession); - запустить дефолтный WM/DE (XFCE, GNOME, KDE и т. п.), если пользовательского нет.
- Типичные правки:
- заменить строку типа
exec /etc/X11/Xsessionнаexec startxfce4(для XFCE); - добавить проверку на существование пользовательского
.xsessionи его запуск. Пример фрагмента:
if [ -r /etc/profile ]; then
. /etc/profile
fi
if [ -r $HOME/.xsession ]; then
exec $HOME/.xsession
else
exec startxfce4
fi
Важные замечания
- Перезапуск после изменений
После правки конфигураций перезапустите сервисы:
# systemctl restart xrdp
# systemctl restart xrdp-sesman
- Права и безопасность
- Убедитесь, что сертификаты и ключи имеют правильные права (
600). - Ограничьте доступ по IP/фаерволу, используйте сильные пароли/SSH‑ключи.
Итог
XRDP — удобный и популярный способ организовать удалённое графическое подключение к Linux по RDP. Подходит для администрирования, удалённой работы и обучения. Однако для задач с высокой графической нагрузкой или строгими требованиями к отзывчивости лучше рассмотреть альтернативные решения (VNC, SSH + X11‑пересылка, платные продукты).




