- Home »

Включение RDP на Ubuntu 24 с помощью XRDP — Настройка удалённого доступа
Если вы когда-нибудь пытались настроить удалённый доступ к Ubuntu-серверу через RDP, то наверняка знаете, что это не так тривиально, как в Windows. В отличие от Windows Server, где RDP работает из коробки, в Ubuntu нужно дополнительно установить и настроить XRDP. Эта статья поможет вам быстро и правильно развернуть RDP на Ubuntu 24, избежать типичных подводных камней и получить стабильно работающий удалённый рабочий стол.
Особенно актуально это для тех, кто управляет серверами и нуждается в графическом интерфейсе для администрирования, настройки приложений или демонстрации работы системы клиентам. Правильно настроенный XRDP откроет массу возможностей для удалённой работы и автоматизации задач.
Как работает XRDP в Ubuntu
XRDP — это открытая реализация Microsoft Remote Desktop Protocol (RDP) для Unix-подобных систем. По сути, это сервер, который принимает RDP-соединения и транслирует их в VNC или X11 сессии. Архитектура выглядит следующим образом:
• Клиент RDP (Windows Remote Desktop, FreeRDP, Remmina) подключается к порту 3389
• XRDP сервер принимает соединение и аутентифицирует пользователя
• Сессия-менеджер (обычно Xvnc) создаёт виртуальный X11 дисплей
• Рабочий стол (GNOME, XFCE, KDE) запускается в этой сессии
Главное отличие от VNC в том, что XRDP поддерживает множественные сессии, сжатие трафика и интеграцию с системой аутентификации Linux.
Пошаговая настройка XRDP на Ubuntu 24
Начнём с чистой установки Ubuntu 24. Если у вас ещё нет сервера, можете заказать VPS или выделенный сервер для тестирования.
Шаг 1: Обновление системы и установка среды рабочего стола
sudo apt update && sudo apt upgrade -y
sudo apt install ubuntu-desktop-minimal -y
Почему именно ubuntu-desktop-minimal
? Потому что полная версия ubuntu-desktop тащит за собой кучу ненужного софта типа LibreOffice, игр и медиа-плееров. Для серверного использования это избыточно.
Шаг 2: Установка XRDP
sudo apt install xrdp -y
sudo systemctl enable xrdp
sudo systemctl start xrdp
Шаг 3: Настройка пользователя и группы
sudo adduser xrdp ssl-cert
sudo usermod -a -G ssl-cert xrdp
Этот шаг критично важен для работы с сертификатами SSL/TLS.
Шаг 4: Конфигурация XRDP
Создаём файл конфигурации для пользователя:
echo "gnome-session" > ~/.xsession
chmod +x ~/.xsession
И настраиваем основной конфиг XRDP:
sudo nano /etc/xrdp/xrdp.ini
Найдите секцию [Xvnc]
и измените на:
[Xvnc]
name=Xvnc
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=-1
xserverbpp=24
code=20
Шаг 5: Настройка брандмауэра
sudo ufw allow 3389/tcp
sudo ufw reload
Шаг 6: Перезапуск сервиса
sudo systemctl restart xrdp
sudo systemctl status xrdp
Практические кейсы и подводные камни
Проблема | Причина | Решение |
---|---|---|
Чёрный экран после подключения | Неправильная настройка сессии | Проверить ~/.xsession и права доступа |
Медленное подключение | Высокое разрешение экрана | Снизить цветность до 16 бит в настройках клиента |
Не работает звук | Отсутствует pulseaudio | sudo apt install pulseaudio pulseaudio-module-xrdp |
Зависает при входе | Конфликт с локальной сессией | Завершить локальную сессию перед RDP |
Альтернативные решения
Помимо XRDP существуют другие варианты удалённого доступа:
• VNC (TigerVNC, RealVNC) — проще в настройке, но менее безопасен
• X2Go — отличная производительность, но требует специального клиента
• NoMachine NX — коммерческое решение с высокой производительностью
• Chrome Remote Desktop — работает через браузер, но требует аккаунт Google
Решение | Производительность | Безопасность | Простота настройки |
---|---|---|---|
XRDP | Средняя | Высокая | Средняя |
VNC | Низкая | Низкая | Высокая |
X2Go | Высокая | Высокая | Средняя |
NoMachine | Высокая | Высокая | Высокая |
Оптимизация и тюнинг
Для улучшения производительности XRDP рекомендую:
Настройка сжатия
sudo nano /etc/xrdp/xrdp.ini
Добавьте в секцию [globals]:
use_compression=yes
compression_level=9
Оптимизация для слабых каналов
sudo nano /etc/xrdp/xrdp.ini
Измените параметры:
bitmap_cache=yes
bitmap_compression=yes
bulk_compression=yes
Настройка логирования
sudo nano /etc/xrdp/xrdp.ini
Для дебага установите:
log_level=DEBUG
log_file=xrdp.log
Интеграция с системами мониторинга
XRDP отлично интегрируется с системами мониторинга. Например, можно настроить мониторинг через Zabbix:
#!/bin/bash
# Скрипт для проверки статуса XRDP
if systemctl is-active --quiet xrdp; then
echo "1"
else
echo "0"
fi
Или через Prometheus с node_exporter:
sudo netstat -tlnp | grep :3389 | wc -l
Автоматизация развёртывания
Для массового развёртывания можно использовать Ansible playbook:
---
- name: Install and configure XRDP
hosts: ubuntu_servers
become: yes
tasks:
- name: Update packages
apt:
update_cache: yes
upgrade: yes
- name: Install desktop environment
apt:
name: ubuntu-desktop-minimal
state: present
- name: Install XRDP
apt:
name: xrdp
state: present
- name: Start and enable XRDP
systemd:
name: xrdp
state: started
enabled: yes
- name: Configure firewall
ufw:
rule: allow
port: 3389
proto: tcp
Безопасность и лучшие практики
Несколько важных моментов по безопасности:
• Измените стандартный порт с 3389 на что-то менее очевидное
• Используйте fail2ban для защиты от брут-форса
• Настройте VPN для доступа к RDP-серверу
• Ограничьте доступ по IP-адресам через iptables
sudo apt install fail2ban -y
sudo nano /etc/fail2ban/jail.local
Добавьте секцию для XRDP:
[xrdp]
enabled = true
port = 3389
filter = xrdp
logpath = /var/log/xrdp.log
maxretry = 3
bantime = 3600
Интересные факты и нестандартные применения
Мало кто знает, что XRDP можно использовать для:
• Создания терминального сервера для множественных пользователей
• Запуска GUI-приложений в Docker-контейнерах
• Организации виртуальных рабочих мест для удалённых сотрудников
• Тестирования веб-приложений в различных браузерах
Например, можно создать Docker-контейнер с GUI:
FROM ubuntu:24.04
RUN apt-get update && apt-get install -y \
ubuntu-desktop-minimal \
xrdp \
firefox
RUN systemctl enable xrdp
EXPOSE 3389
CMD ["service", "xrdp", "start"]
Статистика и сравнение производительности
По данным тестов производительности, XRDP показывает следующие результаты:
• Задержка: 50-100ms в LAN, 200-500ms в WAN
• Потребление трафика: 100-500 Кбит/с при обычной работе
• Нагрузка на CPU: 5-15% на современном сервере
• Потребление RAM: 200-500 МБ на сессию
Заключение и рекомендации
XRDP — это надёжное решение для организации удалённого доступа к Ubuntu-серверам. Да, настройка требует некоторых усилий, но результат того стоит. Особенно если вы управляете несколькими серверами и нуждаетесь в унифицированном подходе к удалённому администрированию.
Рекомендую использовать XRDP в следующих случаях:
• Когда нужен стандартный RDP-доступ без установки дополнительного ПО на клиентах
• Для организации удалённых рабочих мест на базе Ubuntu
• При необходимости запуска GUI-приложений на сервере
• Для демонстрации работы системы клиентам
Не используйте XRDP, если:
• Требуется максимальная производительность (лучше X2Go или NoMachine)
• Работаете только с консольными приложениями (достаточно SSH)
• Нужна максимальная безопасность (VPN + SSH будет надёжнее)
В любом случае, наличие правильно настроенного XRDP в арсенале системного администратора — это всегда плюс. Удачи в настройке!
В этой статье собрана информация и материалы из различных интернет-источников. Мы признаем и ценим работу всех оригинальных авторов, издателей и веб-сайтов. Несмотря на то, что были приложены все усилия для надлежащего указания исходного материала, любая непреднамеренная оплошность или упущение не являются нарушением авторских прав. Все упомянутые товарные знаки, логотипы и изображения являются собственностью соответствующих владельцев. Если вы считаете, что какой-либо контент, использованный в этой статье, нарушает ваши авторские права, немедленно свяжитесь с нами для рассмотрения и принятия оперативных мер.
Данная статья предназначена исключительно для ознакомительных и образовательных целей и не ущемляет права правообладателей. Если какой-либо материал, защищенный авторским правом, был использован без должного упоминания или с нарушением законов об авторском праве, это непреднамеренно, и мы исправим это незамедлительно после уведомления. Обратите внимание, что переиздание, распространение или воспроизведение части или всего содержимого в любой форме запрещено без письменного разрешения автора и владельца веб-сайта. Для получения разрешений или дополнительных запросов, пожалуйста, свяжитесь с нами.