Ubuntu Remote Desktop (GUI)
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 назавжди змінює режим завантаження за замовчуванням, тому графічне середовище запускається автоматично після кожного перезавантаження. На безголовому (headless) сервері, де вам потрібен лише віддалений доступ до робочого столу, цей крок можна пропустити — достатньо просто перезавантажити сервер.
Варіант 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
Введіть і підтвердіть пароль. Коли з'явиться запитання «Would you like to enter a view-only password?», введіть n.
VNC потребує бекенду Xorg. В Ubuntu 24.04 GNOME за замовчуванням працює на Wayland. Якщо ви плануєте використовувати VNC разом з GNOME, спочатку вимкніть Wayland, як описано в розділі про xrdp нижче (WaylandEnable=false у файлі /etc/gdm3/custom.conf). Без цього ви можете отримати чорний екран.
В Ubuntu 24.04 dbus-launch може бути не встановлений за замовчуванням. Якщо при запуску сесії VNC ви отримаєте помилку «command not found», спочатку встановіть його: 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.
Відкрийте клієнт і введіть: your-server-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 Remote Desktop. В 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 Remote Desktop з App Store.
Натисніть «Add PC» і введіть IP-адресу вашого сервера.
Увійдіть, використовуючи ваше ім'я користувача та пароль Ubuntu.
Порівняння: VNC проти RDP
| VNC | RDP | |
|---|---|---|
| Протокол | Відкритий стандарт | Microsoft (реалізація з відкритим кодом через xrdp) |
| Клієнт для Windows | Потрібен сторонній клієнт | Вбудований (mstsc) |
| Клієнт для macOS | Вбудований (Finder) | Microsoft Remote Desktop (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