EUR
european

EUR

usa

USD

Russian Ru
Ex. VAT Ex. VAT 0%

Удаленный рабочий стол Ubuntu (графический интерфейс)

Ubuntu Remote Desktop (GUI)

Ubuntu Server по умолчанию не включает графический интерфейс. Однако вы можете установить его и подключаться к нему удалённо по VNC или RDP. В этом руководстве рассмотрены оба способа.

(Warning) Не открывайте порты 5901 (VNC) и 3389 (RDP) напрямую в интернет. Используйте SSH-туннель, WireGuard или другое VPN-решение для защиты подключения. Если эти порты всё же нужно разрешить в файрволе, ограничьте доступ только доверенными диапазонами IP.

(Info) Для большинства производственных серверов Ubuntu рекомендуется следующая связка: окружение рабочего стола Xfce, xrdp для удалённого доступа и WireGuard или SSH-туннель для безопасного соединения.

Что вам понадобится

  • Сервер Ubuntu (20.04 / 22.04 / 24.04)
  • Доступ root или sudo
  • Клиентский компьютер (Windows или macOS), с которого вы будете подключаться

Установка окружения рабочего стола

Обновите список пакетов:

apt update && apt upgrade -y

Установите окружение рабочего стола Xfce. Оно нетребовательно к ресурсам и стабильно работает как по VNC, так и по xrdp:

apt install xfce4 xfce4-goodies -y

(Info) Если вы предпочитаете GNOME, установите его командой apt install ubuntu-desktop-minimal -y. Учтите, что в Ubuntu 24.04 GNOME по умолчанию работает поверх Wayland, который несовместим с VNC и xrdp; сначала пришлось бы отключить Wayland, задав WaylandEnable=false в /etc/gdm3/custom.conf. Xfce этого не требует и является более простым выбором для удалённого рабочего стола.

На сервере также понадобится dbus-launch, чтобы сессия рабочего стола запускалась. Если его нет, установите:

apt install dbus-x11 -y

Вариант 1. Подключение по VNC

VNC (Virtual Network Computing) позволяет просматривать рабочий стол и управлять им удалённо. В этом разделе используется TigerVNC.

Установка сервера TigerVNC

apt install tigervnc-standalone-server tigervnc-common -y

Создание пользователя VNC

Запускайте VNC от имени пользователя без прав root. Создайте такого, если его ещё нет:

adduser vncuser

(Warning) Не добавляйте пользователя VNC в группу sudo. Если злоумышленник получит доступ к VNC-сессии, права sudo дадут ему полный контроль над сервером.

Переключитесь на этого пользователя:

su - vncuser

Установка пароля VNC

vncpasswd

Введите и подтвердите пароль. На вопрос «Would you like to enter a view-only password?» введите n. Пароль VNC ограничен 8 символами.

Настройка VNC-сессии

Создайте каталог конфигурации и файл запуска:

mkdir -p ~/.vnc nano ~/.vnc/xstartup

Вставьте следующее:

#!/bin/bash unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS exec startxfce4

(Info) Если VNC-сервер запускается, но сессия сразу завершается (или вы видите чёрный экран), на Ubuntu Server чаще всего причина в отсутствии dbus-launch. Установите его и запустите сервер снова: apt install dbus-x11 -y

Сделайте файл исполняемым:

chmod +x ~/.vnc/xstartup

Запуск сервера VNC

vncserver :1 -geometry 1280x800 -localhost no

Эта команда запускает VNC-сессию на дисплее :1 (порт 5901). Дисплей :2 использовал бы порт 5902 и так далее. Параметр -localhost no разрешает подключения с других машин.

Чтобы остановить сервер:

vncserver -kill :1

Открытие порта в файрволе

ufw allow 5901/tcp

(Info) По возможности ограничьте доступ конкретным диапазоном IP вместо разрешения всех источников: ufw allow from 192.168.1.0/24 to any port 5901 proto tcp

Подключение из Windows

Скачайте и установите TightVNC или RealVNC Viewer. Откройте клиент и введите адрес сервера с номером порта дисплея:

ваш-ip-сервера:5901

Может появиться предупреждение о незашифрованном соединении; для обычного VNC это нормально. Продолжите и при запросе введите пароль VNC. После установки соединения вы увидите удалённый рабочий стол:

Подключение из macOS

В macOS есть встроенный VNC-клиент. Откройте Finder, нажмите Cmd+K и введите:

vnc://ваш-ip-сервера:5901

При запросе введите пароль.

(Warning) Трафик VNC по умолчанию не шифруется. Пропустите соединение через SSH: ssh -L 5901:localhost:5901 пользователь@ваш-ip-сервера, затем подключайтесь к localhost:5901 из своего VNC-клиента.

Вариант 2. Подключение по RDP

RDP (Remote Desktop Protocol) — стандартный протокол, используемый Windows Remote Desktop. В Ubuntu его предоставляет пакет xrdp.

(Info) Xfce обеспечивает более стабильный удалённый рабочий стол по xrdp, чем GNOME, особенно в версиях Ubuntu, где GNOME работает поверх Wayland.

Установка xrdp

apt install xrdp -y

Включите и запустите службу:

systemctl enable --now xrdp

Настройка xrdp на использование Xfce

Создайте файл сессии, чтобы xrdp запускал рабочий стол Xfce при входе. Без него после входа вы получите чёрный экран. Выполните это от имени пользователя, под которым будете подключаться:

echo "xfce4-session" > ~/.xsession

Открытие порта в файрволе

ufw allow 3389/tcp

(Info) По возможности ограничьте доступ конкретным диапазоном 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-адрес сервера и нажмите Connect.

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

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

Подключение из macOS

Установите Microsoft Remote Desktop из App Store. Нажмите Add PC, введите IP-адрес сервера и войдите под своим именем пользователя и паролем Ubuntu.

Сравнение: VNC и RDP

VNCRDP
ПротоколОткрытый стандартMicrosoft (открытая реализация через xrdp)
Клиент WindowsНужен стороннийВстроенный (mstsc)
Клиент macOSВстроенный (Finder)Microsoft Remote Desktop (App Store)
ШифрованиеПо умолчанию нет (используйте SSH-туннель)TLS (обеспечивает xrdp)
ПроизводительностьСредняяКак правило, плавнее
Многопользовательский режимОграниченныйЛучше

Устранение неполадок

Чёрный экран после входа по RDP: убедитесь, что в ~/.xsession указано xfce4-session и что установлен dbus-x11, затем перезапустите xrdp: systemctl restart xrdp

VNC-сессия сразу завершается или показывает чёрный экран: установите недостающий запускатель dbus и запустите сервер снова: apt install dbus-x11 -y

Подключение по VNC отклонено: проверьте командой vncserver -list, запущен ли VNC-сервер, и убедитесь, что порт 5901 открыт в файрволе.

VNC-сессия не запускается: завершите сессию, удалите файлы блокировки и перезапустите:

vncserver -kill :1 rm -f ~/.vnc/*.log ~/.vnc/*.pid vncserver :1

Ошибка аутентификации в xrdp: убедитесь, что входите под действующим системным пользователем и паролем Ubuntu, а не под паролем VNC.

xrdp подключается, но сразу отключается: проверьте статус обеих служб:

systemctl status xrdp systemctl status xrdp-sesman

VAT

  • Other

    Ex. VAT

    0%
  • austria

    Austria

    20%
  • Belgium

    Belgium

    21%
  • Bulgaria

    Bulgaria

    20%
  • Croatia

    Croatia

    25%
  • Cyprus

    Cyprus

    19%
  • Czech Republic

    Czech Republic

    21%
  • Denmark

    Denmark

    25%
  • Estonia

    Estonia

    22%
  • France

    France

    20%
  • Finland

    Finland

    24%
  • Germany

    Germany

    19%
  • Greece

    Greece

    24%
  • Hungary

    Hungary

    27%
  • Ireland

    Ireland

    23%
  • Italy

    Italy

    22%
  • Latvia

    Latvia

    21%
  • Lithuania

    Lithuania

    21%
  • Luxembourg

    Luxembourg

    17%
  • Malta

    Malta

    18%
  • Netherlands

    Netherlands

    21%
  • Poland

    Poland

    23%
  • Portugal

    Portugal

    23%
  • Romania

    Romania

    19%
  • Slovakia

    Slovakia

    20%
  • Slovenia

    Slovenia

    22%
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • germany
  • Español
  • Italiano
  • Poland
  • Русский
  • Slovenski
  • Türkçe
  • ukraine
  • kingdom
  • French
  • Hrvatska
  • Other
  • Austria
  • Belgium
  • Bulgaria
  • Croatia
  • Cyprus
  • Czech Republic
  • Denmark
  • Estonia
  • Finland
  • France
  • Germany
  • Greece
  • Hungary
  • Ireland
  • Italy
  • Latvia
  • Lithuania
  • Luxembourg
  • Malta
  • Netherlands
  • Poland
  • Portugal
  • Romania
  • Slovakia
  • Slovenia
  • Spain
  • Sweden
  • USA