Графичен десктоп на Ubuntu Server 24.04 с VNC и RDP
14 Aug 2025, 21:42:25
Ubuntu Server 24.04 няма графичен интерфейс по подразбиране. Популярността на Ubuntu OS сред обикновените потребители обаче прави тази система отлична алтернатива на отдалечения работен плот на Windows Server. В тази статия ще инсталираме работната среда на сървърната версия на Ubuntu 24.04 OS, която може да бъде избрана на нашите VPS, и ще конфигурираме връзка с отдалечения работен плот, използвайки два от най-популярните методи - VNC и RDP.Ще инсталираме:
- Xfce - лека десктоп среда, проектирана да използва ефективно ресурсите. Чудесна за VPS;
- TigerVNC - VNC сървър с отворен код, разклонение на популярния преди това TightVNC;
- xRDP - RDP сървър с отворен код. Позволява ви да се свържете със сървъра чрез RDP протокола, включително чрез вградената функция за "Връзка с отдалечен работен плот на Windows".
Подготовка за инсталиране
Свържете се със сървъра чрез SSH като root потребител.Актуализирайте списъка с пакети и инсталирайте актуализации:
apt update && apt upgrade -y
Свързването с отдалечен работен плот чрез root потребителя е лоша идея. Създайте нов потребител (пропуснете тази стъпка, ако потребителят вече съществува):adduser user01
- user01 - потребителско име

Добавете потребителя към групата sudo, за да можете да използвате командата със същото име:
usermod -aG sudo user01
- -a - добавяне към група без заместване на текущите групи;
- -G sudo - посочете sudo група;
- user01 - потребителско име.

Активирайте задържането, така че потребителските услуги да стартират след рестартиране без влизане в системата:
loginctl enable-linger user01
Стартираме мениджъра на потребители:systemctl start user@$(id -u user01)
- user01 - потребителско име
Инсталиране на Xfce
Инсталирайте необходимите пакети: Xfce десктоп средата и много други пакети. Не се тревожете за броя им, това е нормално:apt install -y xfce4 xfce4-goodies dbus-x11 x11-xserver-utils fonts-dejavu-core fonts-liberation2 curl git htop unzip xarchiver
- xfce4-goodies - допълнителен Xfce софтуер;
- dbus-x11 - софтуер за обмен на съобщения между различни приложения;
- x11-xserver-utils - набор от помощни програми за работа с графичната подсистема на Linux;
- fonts-* - набор от шрифтове за нормално показване в приложения;
- Други приложения, от които може да се нуждаем, и много зависимости.
Инсталиране на TigerVNC
Инсталирайте самия VNC сървър:apt install -y tigervnc-standalone-server
VNC конфигурация за стартиране на Xfce
Излизаме от root потребителския профил и се свързваме със сървъра чрез SSH с новия ни потребител (в примера user01). След това всички команди ще се изпълняват от негово име.Създаваме директория с VNC конфигурацията и задаваме правата:
mkdir ~/.vnc
chmod 700 ~/.vnc
Създайте VNC парола:vncpasswd
Въвеждаме паролата, потвърждаваме я и отказваме да създадем допълнителна парола за режим view-only:
Създайте стартиращ файл xstartup:
nano ~/.vnc/xstartup
Със съдържание:#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
export XDG_SESSION_TYPE=x11
export DESKTOP_SESSION=xfce
export XDG_CURRENT_DESKTOP=XFCE
exec startxfce4
Запазете файла с клавишната комбинация Ctrl+O и затворете с Ctrl+X.
Важната стъпка е да направите този файл изпълним:
chmod +x ~/.vnc/xstartup
Нека създадем обща VNC конфигурация:nano ~/.vnc/config
Съдържание:geometry=1920x1080
localhost
alwaysshared
dpi=96
- geometry - резолюция на виртуалния десктоп;
- localhost - слушане само локалния адрес. Тъй като VNC не използва криптиране на трафика, за сигурен достъп ще използваме SSH тунела, който ще създадем по-късно;
- alwaysshared - позволява на множество потребители да се свързват с един работен плот едновременно;
- dpi - броят пиксели на инч от екрана. 96 е стандартната стойност за повечето системи.
Автоматично стартиране на VNC сървър от името на потребителя
Създайте systemd модул в потребителската среда. Създайте директория:mkdir -p ~/.config/systemd/user
Създайте файл на юнита:nano ~/.config/systemd/user/[email protected]
С содержимым:[Unit]
Description=TigerVNC server for display :%i (user)
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/vncserver -fg :%i
ExecStop=/usr/bin/vncserver -kill :%i
Restart=on-failure
[Install]
WantedBy=default.target
- :%i - номер на виртуален дисплей. Например, за да се свържете с дисплей номер :1, се използва порт 5901.
systemctl --user daemon-reload
systemctl --user enable --now [email protected]

Проверяваме дали VNC сървърът слуша локалния адрес и стандартния порт 5901 за първия дисплей:
ss -tnlp | grep 5901
Получаваме:
Сигурна връзка с VNC сървър чрез SSH тунел
SSH протоколът използва криптиране за защита на предаваните данни. Ето защо е обичайно да се използва SSH тунел за установяване на VNC връзка. Този метод ви позволява също така да държите портовете на VNC сървъра затворени за външния свят. По подразбиране само порт 22 (SSH) трябва да бъде отворен.За да създадете SSH тунел на вашия компютър, трябва да стартирате терминал (cmd или PowerShell в случай на Windows) и да изпълните командата:
ssh -L 5901:localhost:5901 user01@IP_address
- user01 - името на потребителя, създаден по-рано;
- IP_address - IP адресът на вашия сървър.
Сега можете да се свържете с VNC сървъра, използвайки адреса localhost:5901 и паролата, посочена по-рано във vncpasswd, използвайки произволен VNC клиент (TigerVNC Viewer, RealVNC Viewer, Remmina, Screen Sharing MacOS):

Нашият десктоп:

Полезни команди за управление на VNC
Успешно инсталирахме Xfce и конфигурирахме защитена VNC връзка с отдалечения работен плот. Остава само да обмислим въпроса за управлението на нашия VNC сървър.Благодарение на нашата конфигурация, VNC сървърът ще се стартира автоматично след стартирането на системата. За да го спрете, влезте като VNC потребител и използвайте командата:
systemctl --user stop [email protected]
Команда за изпълнение:systemctl --user start [email protected]
Команда за рестартиране на VNC сървъра:systemctl --user restart [email protected]
За да видите активните VNC сесии:vncserver -list

Виждаме, че в примера един виртуален дисплей работи на порт 5901.
Инсталиране на RDP (xRDP)
Най-лесният начин за свързване с отдалечен работен плот е чрез RDP (Remote Desktop Protocol).Команда за инсталиране на RDP сървър:
apt install xrdp -y
Активиране на автоматично стартиране на RDP сървъра при стартиране на системата:systemctl enable xrdp
Стартиране на RDP сървър:systemctl start xrdp

След това трябва да отидете на предварително създадения потребител (в примера, user01):
su - user01
Свързване на стартирането на Xfce със стартирането на xRDP сесия:echo "startxfce4" > ~/.xsession
След това рестартирайте xRDP:
sudo systemctl restart xrdp

След няколко прости команди, можем успешно да се свържем със сървъра чрез RDP протокола, който поддържа криптиране на данни веднага щом е инсталиран.
В операционната система Windows можем да използваме вградената помощна програма „Свързване с отдалечен работен плот“.
В операционна система, базирана на ядрото на Linux: Remmina.
В MacOS: Microsoft Remote Desktop
Пример за свързване в Microsoft Remote Desktop:

Паролата на потребителя е зададена на етапа на създаване на потребителя:

Успешно се свързваме с отдалечения работен плот чрез RDP:

Успешно инсталирахме работната среда Xfce и конфигурирахме защитена връзка към нея чрез VNC и RDP. Разбира се, можете да изберете едната или другата, но е напълно възможно да инсталирате и двете опции на един сървър. След като следвате обсъдените инструкции, вашият сървър е готов за пълноценно използване на графичния интерфейс.