Обновяване на предпочитанията за бисквитки

Графичен десктоп на 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 - потребителско име
Въвеждаме паролата и я потвърждаваме, допълнителни въпроси могат да бъдат пропуснати с натискане на Enter, с натискане на клавиша Y потвърждаваме коректността на данните:
20250814_prGBZgs2
Добавете потребителя към групата sudo, за да можете да използвате командата със същото име:
usermod -aG sudo user01
  • -a - добавяне към група без заместване на текущите групи;
  • -G sudo - посочете sudo група;
  • user01 - потребителско име.
20250814_HfXNiZpK
Активирайте задържането, така че потребителските услуги да стартират след рестартиране без влизане в системата:
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-* - набор от шрифтове за нормално показване в приложения;
  • Други приложения, от които може да се нуждаем, и много зависимости.
Ако предпочитате да използвате RDP за свързване с вашия настолен компютър, можете да преминете към параграфа "Инсталиране на RDP (xRDP)".

Инсталиране на TigerVNC

Инсталирайте самия VNC сървър:
apt install -y tigervnc-standalone-server

VNC конфигурация за стартиране на Xfce

Излизаме от root потребителския профил и се свързваме със сървъра чрез SSH с новия ни потребител (в примера user01). След това всички команди ще се изпълняват от негово име.
Създаваме директория с VNC конфигурацията и задаваме правата:
mkdir ~/.vnc
chmod 700 ~/.vnc
Създайте VNC парола:
vncpasswdВъвеждаме паролата, потвърждаваме я и отказваме да създадем допълнителна парола за режим view-only:
20250815_TESAZL1m
Създайте стартиращ файл 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.
20250814_TDShPBAK
Важната стъпка е да направите този файл изпълним:
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]
20250815_fCgPt0GB
Проверяваме дали VNC сървърът слуша локалния адрес и стандартния порт 5901 за първия дисплей:
ss -tnlp | grep 5901Получаваме:
20250815_Qj98qK3x

Сигурна връзка с VNC сървър чрез SSH тунел

SSH протоколът използва криптиране за защита на предаваните данни. Ето защо е обичайно да се използва SSH тунел за установяване на VNC връзка. Този метод ви позволява също така да държите портовете на VNC сървъра затворени за външния свят. По подразбиране само порт 22 (SSH) трябва да бъде отворен.
За да създадете SSH тунел на вашия компютър, трябва да стартирате терминал (cmd или PowerShell в случай на Windows) и да изпълните командата:
ssh -L 5901:localhost:5901 user01@IP_address
  • user01 - името на потребителя, създаден по-рано;
  • IP_address - IP адресът на вашия сървър.
SSH ще ви помоли да въведете потребителската парола и ще се свържете със сървъра както при нормална SSH връзка. Този терминал може да бъде минимизиран, но не го затваряйте, докато не приключите с работата с VNC. За да увеличите нивото на сигурност, можете да създадете SSH ключ за user01, да деактивирате SSH достъпа за root потребителя и да забраните оторизацията с парола през SSH. Обсъдихме подробно как да направите това в статията: Как да деактивирате root достъпа през SSH и да създадете сигурен потребител в Ubuntu 24.04.
Сега можете да се свържете с VNC сървъра, използвайки адреса localhost:5901 и паролата, посочена по-рано във vncpasswd, използвайки произволен VNC клиент (TigerVNC Viewer, RealVNC Viewer, Remmina, Screen Sharing MacOS):
20250815_btnGPHxh
Нашият десктоп:
20250815_h01MXph1

Полезни команди за управление на VNC

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

Инсталиране на RDP (xRDP)

Най-лесният начин за свързване с отдалечен работен плот е чрез RDP (Remote Desktop Protocol).
Команда за инсталиране на RDP сървър:
apt install xrdp -yАктивиране на автоматично стартиране на RDP сървъра при стартиране на системата:
systemctl enable xrdpСтартиране на RDP сървър:
systemctl start xrdp20250815_Rjh09Yhs
След това трябва да отидете на предварително създадения потребител (в примера, user01):
su - user01Свързване на стартирането на Xfce със стартирането на xRDP сесия:
echo "startxfce4" > ~/.xsession
След това рестартирайте xRDP:
sudo systemctl restart xrdp20250815_HjN3JKik
След няколко прости команди, можем успешно да се свържем със сървъра чрез RDP протокола, който поддържа криптиране на данни веднага щом е инсталиран.
В операционната система Windows можем да използваме вградената помощна програма „Свързване с отдалечен работен плот“.
В операционна система, базирана на ядрото на Linux: Remmina.
В MacOS: Microsoft Remote Desktop
Пример за свързване в Microsoft Remote Desktop:
20250815_P2BcgPjZ
Паролата на потребителя е зададена на етапа на създаване на потребителя:
20250815_sK2qe3DI
Успешно се свързваме с отдалечения работен плот чрез RDP:
20250815_18ROIYPH

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