Home » Включение RDP на Ubuntu 24 с помощью XRDP — Настройка удалённого доступа
Включение RDP на Ubuntu 24 с помощью XRDP — Настройка удалённого доступа

Включение 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 в арсенале системного администратора — это всегда плюс. Удачи в настройке!


В этой статье собрана информация и материалы из различных интернет-источников. Мы признаем и ценим работу всех оригинальных авторов, издателей и веб-сайтов. Несмотря на то, что были приложены все усилия для надлежащего указания исходного материала, любая непреднамеренная оплошность или упущение не являются нарушением авторских прав. Все упомянутые товарные знаки, логотипы и изображения являются собственностью соответствующих владельцев. Если вы считаете, что какой-либо контент, использованный в этой статье, нарушает ваши авторские права, немедленно свяжитесь с нами для рассмотрения и принятия оперативных мер.

Данная статья предназначена исключительно для ознакомительных и образовательных целей и не ущемляет права правообладателей. Если какой-либо материал, защищенный авторским правом, был использован без должного упоминания или с нарушением законов об авторском праве, это непреднамеренно, и мы исправим это незамедлительно после уведомления. Обратите внимание, что переиздание, распространение или воспроизведение части или всего содержимого в любой форме запрещено без письменного разрешения автора и владельца веб-сайта. Для получения разрешений или дополнительных запросов, пожалуйста, свяжитесь с нами.

Leave a reply

Your email address will not be published. Required fields are marked