Linux-сервер не обязан жить только в консоли. Настройка xRDP превращает обычный VPS в полноценный удалённый рабочий стол: вы подключаетесь к нему из Windows штатным клиентом mstsc — точно так же, как к удалённой Windows-машине. RDP на Linux нужен, когда терминала мало: запустить браузер для веб-сервиса без API, работать с GUI-приложением, дать доступ сотруднику, который не знает командную строку. В этой инструкции мы поставим лёгкое окружение Xfce и сервер xRDP на Ubuntu 24.04, подключимся из Windows и закроем порт 3389 от посторонних. Всё займёт около 30 минут.
Как работает связка xRDP + Xfce
xRDP — это открытая реализация протокола Microsoft RDP для Linux. Она принимает подключения от стандартных RDP-клиентов и передаёт их X-серверу, который отрисовывает графическое окружение. Само окружение в комплект не входит — его выбираете вы. Мы берём Xfce, и вот почему:
- Экономия памяти: Xfce занимает 400–600 МБ RAM против 1,5–2 ГБ у GNOME. На VPS каждый гигабайт на счету.
- Совместимость: Xfce работает с xRDP «из коробки», тогда как GNOME на Ubuntu требует костылей и всё равно капризничает.
- Отзывчивость: меньше анимаций — меньше трафика и задержек при отрисовке по сети.
Требования к серверу: какой VPS подойдёт
Графическое окружение — это не Nginx, ему нужны ресурсы. Ориентируйтесь на такие цифры:
| Сценарий | vCPU | RAM | Пример тарифа |
|---|---|---|---|
| Xfce + 1–2 лёгких приложения | 2+ | 4 ГБ | Start у Cheap-Host (6 vCPU, 8 ГБ) — 450 ₽/мес |
| Браузер с десятками вкладок, IDE, офис | 4+ | 8–16 ГБ | Pro (12 vCPU, 16 ГБ) — 750 ₽/мес |
| Несколько пользователей одновременно | 8+ | 16–32 ГБ | Ultra (20 vCPU, 32 ГБ) — 1500 ₽/мес |
Важен и диск: рабочий стол с браузером активно пишет кеш, поэтому NVMe заметно снижает «задумчивость» интерфейса. У Cheap-Host NVMe стоит во всех тарифах, виртуализация KVM даёт выделенные ресурсы, а сервер выдаётся за 45–60 секунд — можно пройти эту инструкцию сразу после оплаты.
Шаг 1. Подготовка сервера
Подключитесь к серверу по SSH (если делаете это впервые — вот подробная инструкция по SSH-подключению) и обновите систему:
sudo apt update && sudo apt upgrade -y
Работать по RDP под root — плохая идея: одна ошибка в GUI-файловом менеджере может снести полсистемы. Создайте отдельного пользователя:
sudo adduser rdpuser
sudo usermod -aG sudo rdpuser
Подробнее о том, зачем отказываться от root, — в статье о создании пользователя с sudo.
Шаг 2. Установка рабочего стола Xfce
Ставим окружение и набор полезных утилит (терминал, менеджер задач, апплеты):
sudo apt install -y xfce4 xfce4-goodies
Установка займёт несколько минут и около 1,5 ГБ на диске. Если инсталлятор спросит про менеджер дисплея (gdm3 или lightdm) — выбирайте lightdm, он легче.
Шаг 3. Установка и настройка xRDP
Теперь сам сервер удалённого рабочего стола:
sudo apt install -y xrdp
sudo systemctl status xrdp
В выводе статуса должно быть active (running). Служба слушает TCP-порт 3389 — стандартный для RDP.
xRDP использует самоподписанный TLS-сертификат из каталога ssl-cert, поэтому добавьте служебного пользователя в нужную группу:
sudo adduser xrdp ssl-cert
Затем укажите, какое окружение запускать при входе. От имени пользователя, под которым будете подключаться (не root!), выполните:
echo "xfce4-session" > ~/.xsession
И перезапустите службу:
sudo systemctl restart xrdp
sudo systemctl enable xrdp
Без строки xfce4-session в ~/.xsession вы получите классическую проблему xRDP — чёрный экран после ввода пароля. Этот файл нужен каждому пользователю, который будет заходить по RDP.
Шаг 4. Файрвол: не оставляйте 3389 открытым для всех
Порт 3389 — одна из самых сканируемых целей в интернете. Боты найдут его за часы и начнут перебирать пароли. Правильный подход — разрешить подключения только со своего IP:
sudo ufw allow from 203.0.113.10 to any port 3389 proto tcp
sudo ufw allow OpenSSH
sudo ufw enable
Замените 203.0.113.10 на ваш реальный внешний IP (узнать его можно на любом сервисе вида «what is my ip»). Если ваш домашний IP динамический, есть два надёжных варианта:
- SSH-туннель. Порт 3389 закрыт снаружи полностью, а на своём ПК вы выполняете
ssh -L 3390:localhost:3389 rdpuser@IP_сервераи подключаетесь в mstsc к адресуlocalhost:3390. Трафик идёт внутри шифрованного SSH-канала. - VPN. Поднимите WireGuard на этом же VPS и разрешите 3389 только из VPN-подсети. Удобно, если подключаетесь с разных устройств.
Базовые правила UFW и логика работы файрвола разобраны в отдельной статье о настройке UFW.
Шаг 5. Подключение из Windows через mstsc
На стороне Windows ничего устанавливать не нужно — клиент RDP встроен в систему:
- Нажмите Win + R, введите
mstscи нажмите Enter. - В поле «Компьютер» укажите IP вашего VPS (или
localhost:3390, если используете SSH-туннель). - Нажмите «Подключить». Предупреждение о сертификате — это нормально: xRDP использует самоподписанный сертификат, примите его.
- Появится зелёный экран входа xRDP. В поле Session оставьте
Xorg, введите логин и пароль пользователя Linux (например, rdpuser).
Через несколько секунд загрузится рабочий стол Xfce. В настройках mstsc (вкладка «Экран» и «Взаимодействие») можно снизить разрешение и глубину цвета — на медленном канале это заметно ускоряет отклик. Буфер обмена между Windows и сервером работает по умолчанию: копируйте текст в обе стороны.
Тонкая настройка и типичные проблемы
Чёрный экран после входа
Проверьте три вещи: файл ~/.xsession со строкой xfce4-session, отсутствие активной локальной сессии этого же пользователя и перезапуск службы sudo systemctl restart xrdp.
Сессия обрывается при повторном входе
По умолчанию xRDP переподключает вас к существующей сессии. Если вместо этого создаётся новая — проверьте, что в /etc/xrdp/xrdp.ini в секции [Xorg] ничего не менялось, и что вы входите под тем же пользователем и с тем же разрешением экрана.
Медленная отрисовка
Отключите композитинг Xfce: «Настройки → Диспетчер окон (дополнительно) → Эффекты» — снимите галку с композитинга. Это самый эффективный способ ускорить RDP на Linux.
FAQ
Почему после подключения по RDP виден только чёрный экран?
Чаще всего причина — не завершённая сессия того же пользователя на локальной консоли или отсутствие строки xfce4-session в файле ~/.xsession. Выйдите из всех локальных сессий, проверьте файл и перезапустите службу командой sudo systemctl restart xrdp.
Можно ли подключаться к xRDP с macOS или Linux?
Да. Для macOS используйте бесплатный клиент Windows App (бывший Microsoft Remote Desktop) из App Store, для Linux — Remmina или FreeRDP (xfreerdp). Протокол один и тот же, настройки сервера менять не нужно.
Сколько ресурсов VPS нужно для комфортной работы?
Для Xfce с браузером комфортный минимум — 2 vCPU и 4 ГБ RAM. Если планируете держать открытыми десятки вкладок, IDE или офисный пакет, берите 8–16 ГБ RAM: например, тариф Pro у Cheap-Host — 12 vCPU и 16 ГБ RAM за 750 ₽/мес.
Насколько безопасно открывать порт 3389 в интернет?
Открытый для всех порт 3389 постоянно сканируют боты. Ограничьте доступ файрволом по своему IP, используйте SSH-туннель или VPN — тогда порт вообще не будет виден снаружи.
Почему Xfce, а не GNOME или KDE?
Xfce потребляет 400–600 МБ RAM и стабильно работает с xRDP без правок. GNOME требует 1,5–2 ГБ только на окружение и хуже совместим с xRDP на Ubuntu. Для удалённого рабочего стола на VPS Xfce — оптимальный выбор.
Вывод
Настройка xRDP на Ubuntu 24.04 сводится к четырём командам: обновить систему, поставить Xfce, поставить xrdp, прописать сессию в ~/.xsession. Дальше — подключение из Windows обычным mstsc и обязательное ограничение порта 3389 файрволом, туннелем или VPN. В результате у вас круглосуточно доступный Linux-десктоп, до которого можно дотянуться с любого компьютера.
Если для удалённого рабочего стола нужен сервер — у Cheap-Host подойдёт тариф Pro за 750 ₽/мес: 12 vCPU, 16 ГБ RAM, 128 ГБ NVMe, KVM с выделенными ресурсами, безлимитный трафик и выдача сервера за минуту. Посмотреть все тарифы можно на cheap-host.onl.