Удаленный рабочий стол Ubuntu (графический интерфейс)
Ubuntu Server по умолчанию не имеет графического интерфейса. Однако вы можете установить его и подключиться к нему удалённо с помощью VNC или RDP. В данном руководстве рассмотрены оба метода.
Не открывайте порты 5901 (VNC) или 3389 (RDP) напрямую в Интернет. Используйте SSH-туннель, WireGuard или другое VPN-решение для обеспечения безопасности соединения. Если вам необходимо разрешить пропуск этих портов через брандмауэр, ограничьте доступ только доверенными диапазонами IP-адресов.
Для большинства производственных серверов Ubuntu рекомендуется следующая комбинация: рабочий стол Xfce, xrdp для удалённого доступа и WireGuard или SSH-туннель для безопасного подключения.
Что вам понадобится
- Сервер Ubuntu (20.04 / 22.04 / 24.04)
- Доступ с правами root или sudo
- Клиентский компьютер (Windows или macOS) для подключения
Установите среду рабочего стола
Обновите список пакетов:
apt update && apt upgrade -y
Установите минимальную версию рабочего стола GNOME:
apt install ubuntu-desktop-minimal -y
Для производственных серверов обычно рекомендуется Xfce — она потребляет меньше ресурсов и работает более стабильно через VNC и xrdp:
apt install xfce4 xfce4-goodies -y
После завершения установки установите графический режим в качестве целевого режима загрузки по умолчанию и перезагрузите систему:
systemctl set-default graphical.target reboot
Команда ` systemctl set-default graphical.target ` навсегда изменяет режим загрузки по умолчанию, благодаря чему графическая среда запускается автоматически после каждой перезагрузки. На сервере без монитора, где требуется только удалённый доступ к рабочему столу, этот шаг можно пропустить и просто перезагрузить систему.
Вариант 1. Подключение через VNC
VNC (Virtual Network Computing) позволяет удалённо просматривать рабочий стол и управлять им. В этом разделе используется программа TigerVNC.
Установка сервера TigerVNC
apt install tigervnc-standalone-server tigervnc-common -y
Создание пользователя VNC
Запустите VNC от имени пользователя, не являющегося root. Создайте такого пользователя, если его ещё нет:
adduser vncuser
Не добавляйте пользователя VNC в группу sudo. Если злоумышленник получит доступ к сеансу VNC, доступ к sudo предоставит ему полный контроль над сервером.
Переключитесь на этого пользователя:
su - vncuser
Установите пароль VNC
vncpasswd
Введите и подтвердите пароль. На вопрос «Хотите ли вы ввести пароль, ограничивающий доступ только просмотром?» введите n.
Для работы VNC требуется бэкенд Xorg. В Ubuntu 24.04 GNOME по умолчанию работает на Wayland. Если вы планируете использовать VNC с GNOME, сначала отключите Wayland, как описано в разделе xrdp ниже (WaylandEnable=false в файле /etc/gdm3/custom.conf). Без этого может появиться чёрный экран.
В Ubuntu 24.04 dbus-launch может быть не установлен по умолчанию. Если при запуске сеанса VNC вы получаете ошибку «команда не найдена», сначала установите его: apt install dbus-x11 -y
Настройте сеанс VNC
Создайте каталог конфигурации и файл запуска:
mkdir -p ~/.vnc nano ~/.vnc/xstartup
Вставьте следующий текст:
#!/bin/bash export XDG_SESSION_TYPE=x11 export GNOME_SHELL_SESSION_MODE=ubuntu unset DBUS_SESSION_BUS_ADDRESS unset XDG_RUNTIME_DIR exec dbus-launch --exit-with-session gnome-session --session=ubuntu
Если вы установили Xfce вместо GNOME, замените последнюю строку на: exec startxfce4
Сделайте файл исполняемым:
chmod +x ~/.vnc/xstartup
Запустите сервер VNC
vncserver :1 -geometry 1920x1080 -depth 24
Это запускает сеанс VNC на дисплее :1 (порт 5901). Дисплей :2 будет использовать порт 5902 и т. д.
Чтобы остановить сервер:
vncserver -kill :1
Откройте порт в брандмауэре
ufw allow 5901/tcp
По возможности ограничьте доступ к определенному диапазону IP-адресов вместо разрешения доступа со всех источников: ufw allow from 192.168.1.0/24 to any port 5901 proto tcp
Подключение из Windows
Скачайте и установите TightVNC или RealVNC Viewer.
Откройте клиент и введите: ваш-IP-сервера:5901

Введите пароль VNC при появлении запроса. После подключения вы увидите удалённый рабочий стол:

Подключение с macOS
В macOS есть встроенный клиент VNC. Откройте Finder, нажмите Cmd+K и введите:
vnc://your-server-ip:5901
Введите пароль при появлении запроса.
По умолчанию трафик VNC не шифруется. Пропустите соединение через SSH: ssh -L 5901:localhost:5901 user@your-server-ip, а затем подключитесь к localhost:5901 из вашего VNC-клиента.
Вариант 2. Подключение через RDP
RDP (Remote Desktop Protocol) — это стандартный протокол, используемый службой «Удалённый рабочий стол» Windows. В Ubuntu он реализован пакетом xrdp.
Сеансы GNOME через xrdp могут работать нестабильно в некоторых версиях Ubuntu, особенно при включённом Wayland. Xfce, как правило, обеспечивает более надёжную работу удалённого рабочего стола.
Отключение Wayland
xrdp требует бэкэнда Xorg. Откройте файл конфигурации GDM:
nano /etc/gdm3/custom.conf
Найдите строку #WaylandEnable=false, снимите комментарий и сохраните файл:
WaylandEnable=false
Установите xrdp
apt install xrdp -y
Включите и запустите службу:
systemctl enable --now xrdp
Добавьте пользователя xrdp в группу ssl-cert
adduser xrdp ssl-cert
Настройте файл запуска сеанса
Откройте файл /etc/xrdp/startwm.sh и добавьте следующие строки перед последней строкой exec:
export XDG_SESSION_TYPE=x11 export GNOME_SHELL_SESSION_MODE=ubuntu unset DBUS_SESSION_BUS_ADDRESS unset XDG_RUNTIME_DIR
Откройте порт брандмауэра
ufw allow 3389/tcp
Если возможно, ограничьте доступ к определенному диапазону IP-адресов: ufw allow from 192.168.1.0/24 to any port 3389 proto tcp
Перезапустите xrdp
systemctl restart xrdp
Подключитесь из Windows
Нажмите Win+R, введите mstsc, нажмите Enter. Введите IP-адрес вашего сервера и нажмите «Подключиться».

На экране входа в xrdp оставьте тип сеанса «Xorg» и введите своё имя пользователя и пароль Ubuntu:

После входа в систему откроется удалённый рабочий стол:

Подключение из macOS
Установите приложение «Удаленный рабочий стол Microsoft» из App Store.
Нажмите «Добавить компьютер», введите IP-адрес вашего сервера.
Войдите, используя свое имя пользователя и пароль Ubuntu.
Сравнение: VNC и RDP
| VNC | RDP | |
|---|---|---|
| Протокол | Открытый стандарт | Microsoft (реализация с открытым исходным кодом через xrdp) |
| Клиент для Windows | Требуется стороннее ПО | Встроенный (mstsc) |
| Клиент macOS | Встроенный (Finder) | Удаленный рабочий стол Microsoft (App Store) |
| Шифрование | По умолчанию отсутствует (используется SSH-туннель) | TLS (обработка осуществляется xrdp) |
| Производительность | Умеренная | В целом более плавная работа |
| Поддержка нескольких пользователей | Ограниченная | Лучше |
Устранение неполадок
Чёрный экран после входа по RDP — убедитесь, что необходимые переменные среды добавлены в файл /etc/xrdp/startwm.sh, как описано выше, и что Wayland отключён в файле /etc/gdm3/custom.conf. Затем перезапустите xrdp: systemctl restart xrdp
Отказ в подключении по VNC — проверьте, запущен ли сервер VNC: vncserver -list. Убедитесь, что порт 5901 открыт в брандмауэре.
Не удается запустить сеанс VNC — завершите сеанс и удалите файлы блокировки, затем перезапустите:
vncserver -kill :1 rm -f ~/.vnc/*.log ~/.vnc/*.pid vncserver :1
Обрыв соединения или серый экран после ввода пароля в xrdp — создайте или отредактируйте файл ~/.xsessionrc для пользователя и добавьте:
export XDG_SESSION_TYPE=x11
Также убедитесь, что пользователь не вошёл одновременно в локальную сессию рабочего стола — выйдите из локальной сессии перед подключением через xrdp.
Ошибка аутентификации в xrdp — убедитесь, что вы входите в систему с помощью действительного системного имени пользователя и пароля Ubuntu, а не пароля VNC.
xrdp подключается, но сразу же отключается — проверьте состояние обеих служб:
systemctl status xrdp systemctl status xrdp-sesman
Не удаётся запустить GNOME через VNC — в Ubuntu 24.04 может потребоваться отдельно установить пакет xorg: apt install xorg -y