ServerAID
Найти гайд, команду, тег… ⌘ K
Сервер

Графический интерфейс на Ubuntu Server: какую оболочку ставить и стоит ли

Ubuntu Server ставится без графики, но её можно добавить одной командой. Разбираем, чем отличаются варианты оболочек по потреблению памяти, как поставить лёгкий XFCE вместо полного GNOME, как включать графику только по требованию и почему на боевом сервере чаще правильнее обойтись веб-панелью или X11-форвардингом.

В образе Ubuntu Server нет графической оболочки — после установки вы попадаете в текстовую консоль. Это осознанное решение разработчиков, а не урезанная сборка: графика на сервере съедает память, увеличивает поверхность атаки и добавляет пакеты, которые нужно обновлять. Но поставить её можно, и иногда это оправдано.

Сначала — нужен ли GUI вообще

Прежде чем ставить оболочку, стоит понять, какую задачу вы решаете. Чаще всего за запросом «поставить графику на сервер» стоит одна из трёх целей, и у двух из них есть решения лучше.

Задача Лучшее решение
Управлять сервисами, смотреть логи, править конфиги Терминал по SSH, при желании — веб-панель
Запустить одно графическое приложение (GParted, браузер) X11 forwarding — графики на сервере не нужно
Полноценный рабочий стол на удалённой машине Полная оболочка + xrdp или VNC

Первые два случая закрываются без установки оболочки. Полная графика оправдана, когда сервер используют как рабочую станцию, когда с ним работают люди без опыта в терминале, либо когда нужно ПО, у которого просто нет консольного интерфейса.

Цена вопроса — память и пакеты. Полный GNOME тянет около 1,5 ГБ ОЗУ в простое и добавляет свыше тысячи пакетов. На VPS с 2 ГБ памяти это означает, что под приложение почти ничего не останется.

Какую оболочку выбрать

Расход памяти в простое — ориентировочный, зависит от версии и набора автозапуска. Порядок величин важнее точных цифр.

Оболочка Пакет ОЗУ в простое Кому подойдёт
XFCE xubuntu-desktop ~400–500 МБ Универсальный выбор: лёгкая, привычная, стабильная
LXQt lubuntu-desktop ~350–450 МБ Самая экономная из полноценных
MATE ubuntu-mate-desktop ~500–600 МБ Классический вид GNOME 2
KDE Plasma kubuntu-desktop ~700–900 МБ Богатый функционал, красивый интерфейс
GNOME ubuntu-desktop ~1,2–1,5 ГБ Стандартный Ubuntu Desktop целиком

Для сервера, где графика — вспомогательный инструмент, разумный выбор XFCE или LXQt. Разница с GNOME в потреблении — примерно втрое.

Отдельная опция — минимальная установка без офисного пакета, медиаплееров и игр:

sudo apt install --no-install-recommends xubuntu-desktop

Флаг --no-install-recommends ставит только обязательные зависимости. Оболочка заработает, но часть привычных мелочей (архиватор, просмотрщик изображений) придётся доставить руками. На сервере это как раз то, что нужно — механика флага разобрана в статье про apt update и upgrade.

Ставим оболочку

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

sudo apt update && sudo apt upgrade -y

XFCE — рекомендуемый вариант для сервера:

sudo apt install -y xubuntu-desktop

Установка займёт несколько минут и потребует 1,5–2 ГБ на диске. В процессе может появиться диалог выбора менеджера дисплея (lightdm или gdm3) — для XFCE выбирайте lightdm, он легче.

Альтернативы:

sudo apt install -y lubuntu-desktop        # LXQt, самый лёгкий
sudo apt install -y ubuntu-mate-desktop    # MATE
sudo apt install -y kubuntu-desktop        # KDE Plasma
sudo apt install -y ubuntu-desktop         # полный GNOME

Совсем минимальный вариант — только оконный менеджер и сам X-сервер, без панелей и менеджера дисплея:

sudo apt install -y xorg openbox

Такая связка занимает около 150 МБ и запускается вручную командой startx. Подходит, когда графика нужна только чтобы запустить одно приложение.

После установки перезагружаемся:

sudo reboot

Система стартует в графический режим и покажет экран входа.

Включаем графику только по требованию

Держать оболочку установленной, но не грузить её при каждой загрузке — компромисс, который экономит память и позволяет вернуться к графике в любой момент.

Управляет этим systemd через целевые состояния (targets):

systemctl get-default                          # текущее: graphical.target или multi-user.target
sudo systemctl set-default multi-user.target   # загружаться в консоль
sudo systemctl set-default graphical.target    # загружаться в графику

После смены на multi-user.target сервер стартует в текстовом режиме, а графику можно поднять вручную, когда понадобится:

sudo systemctl start gdm3       # или lightdm, смотря что установлено
sudo systemctl stop gdm3        # выключить и освободить память

Узнать, какой менеджер дисплея используется:

cat /etc/X11/default-display-manager

Про целевые состояния и управление сервисами — в статье про systemd и systemctl enable.

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

Если нужен только GParted или браузер, ставить рабочий стол не обязательно: X11 forwarding покажет окно удалённой программы на вашем локальном экране.

На сервере разрешаем форвардинг в /etc/ssh/sshd_config:

X11Forwarding yes
sudo systemctl restart ssh
sudo apt install -y xauth

Подключаемся с флагом -X (или -Y для доверенного режима) и запускаем приложение:

ssh -X user@server
gparted

Окно откроется на вашем компьютере, а само приложение будет работать на сервере. Для этого на локальной машине нужен X-сервер: в Linux он есть по умолчанию, в macOS ставится XQuartz, в Windows — VcXsrv или X-сервер из состава WSLg.

Расход памяти на сервере — только на само приложение, никакой оболочки. Это самый экономный способ получить графику на сервере. Подключение при этом идёт по обычному SSH — про ключи для него написано в статье об SSH-ключах.

Полноценный удалённый рабочий стол

Когда нужен именно рабочий стол целиком, ставится xrdp — сервер протокола RDP, к которому подключается штатный клиент «Подключение к удалённому рабочему столу» из Windows или Remmina из Linux.

sudo apt install -y xrdp
sudo systemctl enable --now xrdp
sudo adduser xrdp ssl-cert

Для XFCE указываем сессию, которую должен запускать xrdp:

echo "xfce4-session" | sudo tee ~/.xsession
sudo systemctl restart xrdp

Порт по умолчанию — 3389. Не открывайте его в интернет. RDP постоянно сканируют и перебирают, а панель входа даёт прямой доступ к рабочему столу. Правильный вариант — разрешить порт только из локальной сети:

sudo ufw allow from 192.168.1.0/24 to any port 3389 proto tcp

Ещё надёжнее — не открывать порт вообще, а пробросить его через SSH-туннель:

ssh -N -L 3389:localhost:3389 user@server

После этого в RDP-клиенте подключаетесь к localhost:3389, а трафик идёт по зашифрованному SSH. Про настройку фаервола — в статье про UFW, про защиту от перебора — в статье про fail2ban.

Сколько ресурсов забирает графика

Проверить фактическое потребление до и после установки:

free -h                                  # общая картина по памяти
ps aux --sort=-%mem | head -10           # топ процессов по памяти
systemd-analyze blame | head -15         # что дольше всего стартует

Полезно посмотреть, сколько памяти освобождается после остановки менеджера дисплея:

free -h
sudo systemctl stop lightdm
free -h

Разница и есть цена графики в вашей конфигурации. Если сервер начал уходить в подкачку, стоит либо выбрать оболочку полегче, либо вернуться к консоли — про подкачку и её настройку есть отдельная статья про swap.

Удаляем графику

Если оболочка не пригодилась, её снимают вместе с зависимостями. Сначала переводим систему в консольный режим:

sudo systemctl set-default multi-user.target
sudo systemctl stop lightdm

Затем удаляем пакеты:

sudo apt purge -y xubuntu-desktop
sudo apt autoremove --purge -y
sudo reboot

autoremove --purge убирает осиротевшие зависимости — без него на диске останутся сотни пакетов, которые тянула оболочка. Проверить, что освободилось:

df -h /
free -h

Если после удаления система всё ещё стартует в графику, проверьте systemctl get-default — значение должно быть multi-user.target.

Частые вопросы

Почему в Ubuntu Server нет графического интерфейса?

Так задумано: серверу графика не нужна для работы, а расходует она заметно — от 400 МБ до 1,5 ГБ памяти в зависимости от оболочки. Кроме того, каждый графический пакет — это дополнительный код, который нужно обновлять и который расширяет поверхность атаки.

Управление сервером ведётся по SSH из терминала. Если графика всё же нужна, она ставится обычным apt install за несколько минут.

Какую оболочку выбрать для сервера?

XFCE (xubuntu-desktop) — оптимальный баланс: около 400–500 МБ памяти, привычный интерфейс, стабильность. Если памяти совсем мало, берите LXQt (lubuntu-desktop).

Полный GNOME (ubuntu-desktop) на сервере обычно избыточен: он потребляет втрое больше и тянет офисный пакет с медиаплеерами, которые серверу не нужны.

Можно ли поставить GUI, но не грузить его при загрузке?

Да, это регулируется целью systemd. Команда sudo systemctl set-default multi-user.target заставит сервер стартовать в консоль, а графику вы поднимете вручную командой sudo systemctl start lightdm, когда понадобится.

Так оболочка остаётся установленной и доступной, но в простое память не занимает. Вернуть автозапуск графики: sudo systemctl set-default graphical.target.

Как запустить графическую программу на сервере без установки рабочего стола?

Через X11 forwarding: включите X11Forwarding yes в /etc/ssh/sshd_config, установите xauth и подключайтесь командой ssh -X user@server. Запущенное приложение покажет окно на вашем локальном экране.

На сервере при этом расходуется память только под саму программу. Локально нужен X-сервер: в Linux он есть, в macOS ставится XQuartz, в Windows — VcXsrv.

Как подключиться к рабочему столу Ubuntu Server удалённо?

Установите xrdp (sudo apt install xrdp) и подключайтесь любым RDP-клиентом. Для XFCE нужно указать сессию: echo "xfce4-session" > ~/.xsession.

Порт 3389 наружу не открывайте — его постоянно сканируют. Ограничьте доступ локальной сетью через UFW либо пробросьте порт по SSH: ssh -N -L 3389:localhost:3389 user@server.

Что запомнить

  • Графики в Ubuntu Server нет намеренно: она стоит от 400 МБ до 1,5 ГБ памяти и расширяет поверхность атаки.
  • Для сервера берите XFCE или LXQt — они втрое экономнее полного GNOME; --no-install-recommends уберёт лишние пакеты.
  • systemctl set-default multi-user.target оставляет оболочку установленной, но не грузит её при старте.
  • Ради одной программы рабочий стол не нужен: ssh -X покажет её окно на вашем экране.
  • Порт xrdp (3389) в интернет не выставляют — только локальная сеть или SSH-туннель.

Похожие материалы

Сервер

Установка Webmin на Ubuntu Server: веб-панель управления и её безопасность

Webmin даёт браузерный интерфейс к настройкам сервера: пользователи, сервисы, фаервол, cron, диски. Ставим его из официального репозитория, закрываем доступ к порту 10000 и разбираем главное — панель работает с правами root, поэтому вопрос её защиты важнее вопроса установки.

Редакция
Сервер

Установка Zabbix на Ubuntu Server: сервер, PostgreSQL, веб-интерфейс и агент

Разворачиваем систему мониторинга Zabbix на Ubuntu Server 24.04: официальный репозиторий, база PostgreSQL, фронтенд на nginx, первый вход и подключение агентов. Отдельно — почему zabbix-server не стартует после установки и как читать его лог, когда мониторинг сам требует диагностики.

Редакция
Сервер

Ubuntu Server в VirtualBox: создание виртуальной машины и настройка сети

Разворачиваем Ubuntu Server в VirtualBox для учёбы и тестов: параметры виртуальной машины, установка без графики, разбор сетевых режимов NAT и «сетевой мост», проброс порта для SSH с хоста и снапшоты, которые позволяют ломать систему без последствий.

Редакция
Сервер

Что сделать после установки Ubuntu Server: чек-лист первых шагов

Инсталлятор отработал, вы вошли в систему — дальше идут пятнадцать минут, которые определяют, насколько удобно будет жить с этим сервером. Собрали чек-лист: имя хоста и часовой пояс, пользователи и sudo, автообновления безопасности, swap, синхронизация времени и проверка, что всё это применилось.

Редакция