Сервер обычно живёт без графики, но рано или поздно администратору приходится: поднять рабочую станцию для оператора, разобраться, почему после обновления не стартует экран входа, дать пользователю удалённый рабочий стол и настроить доступность для человека со слабым зрением. В этом уроке разбираем, как устроен графический стек Linux в 2026 году (X11 уступает место Wayland), как работают менеджеры входа и среды рабочего стола, какими протоколами пробрасывают рабочий стол по сети и какие средства доступности есть из коробки.

Как это работает
Классический X11 - это сетевой протокол. X-сервер (исторически Xorg) владеет экраном, мышью и клавиатурой, а программы-клиенты рисуют в нём через сокет. Из-за этой клиент-серверной модели X-приложение легко запустить на одной машине, а картинку показать на другой - отсюда родился X-форвардинг. Минусы тоже родом отсюда: любой клиент видит ввод любого другого (слабая изоляция), а композитинг и масштабирование прикручены сбоку.
Wayland переосмыслил это. Здесь нет отдельного сервера-посредника: композитор (он же часть среды рабочего стола - Mutter в GNOME, KWin в KDE) сам управляет экраном и вводом, а клиенты рисуют в свои буферы и отдают их композитору. Это безопаснее (приложение не подсматривает чужой ввод), даёт честный композитинг, плавность и нормальное масштабирование на HiDPI. На июнь 2026 Wayland - сессия по умолчанию в GNOME и KDE на Fedora 41+, RHEL 10, Ubuntu 24.04, Debian 13. Xorg ещё ставится, но всё чаще как запасной вариант. Старые X11-приложения работают через прослойку Xwayland, которая поднимает мини X-сервер внутри Wayland-сессии.
Менеджер входа (display manager) - это служба, которая показывает экран логина, запускает X- или Wayland-сессию и держит её. Основные: GDM (GNOME), SDDM (KDE), LightDM (лёгкий, частый в Xfce). Управляются через systemd как обычный сервис, а какой именно активен - решает симлинк display-manager.service.
Среда рабочего стола (DE) - это композитор плюс панель, файловый менеджер, настройки и приложения. GNOME - минималистичный и под Wayland. KDE Plasma - гибкий и настраиваемый. Xfce - лёгкий, до недавнего времени только X11, в свежих версиях получает Wayland-сессию.
Команды и примеры
Какой сессией вы вошли (X11 или Wayland) и какой DM активен:
Код: Выделить всё
echo $XDG_SESSION_TYPE # wayland или x11
loginctl show-session $(loginctl | awk 'NR==2{print $1}') -p Type
systemctl status display-manager.service
ls -l /etc/systemd/system/display-manager.serviceDebian/Ubuntu:
Код: Выделить всё
apt install sddm
dpkg-reconfigure sddm # диалог выбора DM
systemctl restart display-managerКод: Выделить всё
dnf install sddm
systemctl disable gdm
systemctl enable sddm
systemctl isolate graphical.target # или rebootКод: Выделить всё
ssh -X user@server # доверенный канал X11 (с ограничениями)
ssh -Y user@server # без ограничений (trusted), удобнее, но менее безопасно
# на сервере:
xeyes &Удалённый рабочий стол целиком. VNC отдаёт пиксели экрана, RDP - протокол Microsoft (есть и для Linux), SPICE заточен под виртуальные машины (QEMU/KVM).
Код: Выделить всё
# VNC-сервер сессии (wayland-нативный для GNOME):
# GNOME -> Settings -> Sharing -> Remote Desktop (grd, основан на VNC/RDP)
# классический tigervnc для X11-сессий:
vncserver :1 -geometry 1920x1080 -localhost
# подключение через SSH-туннель (VNC шифрования не имеет!):
ssh -L 5901:localhost:5901 user@server
vncviewer localhost:5901Доступность включается в Settings -> Accessibility (GNOME) или в Системных настройках (KDE), но многое доступно из консоли через gsettings:
Код: Выделить всё
# экранный диктор Orca:
orca &
# крупный шрифт, высокий контраст, лупа в GNOME:
gsettings set org.gnome.desktop.a11y.magnifier mag-factor 2.0
gsettings set org.gnome.desktop.interface high-contrast true
gsettings set org.gnome.desktop.a11y.applications screen-magnifier-enabled true
# залипание клавиш (sticky keys) и медленные клавиши:
gsettings set org.gnome.desktop.a11y.keyboard stickykeys-enable true- После установки проприетарного драйвера NVIDIA сессия Wayland может не появиться в списке - переключайтесь на Xorg или ставьте свежий драйвер с поддержкой Wayland.
- X-форвардинг не работает: на сервере нет xauth, отключён X11Forwarding, или вы зашли как другой пользователь через sudo - переменная DISPLAY и cookie теряются.
- VNC сам по себе не шифрует трафик. Голый VNC в интернет - дыра. Всегда туннелируйте через SSH или используйте -localhost.
- Скриншоты и автоматизация ввода (xdotool, старые скриншот-утилиты) под Wayland не работают так, как под X11 - изоляция запрещает лезть в чужие окна. Нужны портал-API (xdg-desktop-portal) или PipeWire-захват.
- Запускать графику от root по сети - плохая идея: и небезопасно, и часто просто не стартует из-за прав на сокет дисплея.
- Перепутали графическую и текстовую цель: systemctl get-default должен быть graphical.target, иначе DM не поднимется при загрузке.
- Узнайте тип своей сессии: echo $XDG_SESSION_TYPE и какой DM активен через ls -l /etc/systemd/system/display-manager.service.
- На экране входа (значок настроек или меню сессии) переключитесь между Wayland и Xorg, войдите в каждую и сравните вывод echo $XDG_SESSION_TYPE.
- Включите на сервере X11Forwarding и убедитесь, что стоит xauth; с клиента выполните ssh -X и запустите xclock или xeyes.
- Поднимите удалённый рабочий стол: в GNOME включите Remote Desktop, подключитесь с другой машины RDP-клиентом через SSH-туннель.
- Включите лупу и высокий контраст через gsettings, проверьте эффект, затем верните значения обратно (reset).
- Сделайте systemctl get-default; если не graphical.target - задайте его командой systemctl set-default graphical.target (на стенде, не на боевом сервере).
- Чем архитектурно отличается Wayland от X11 и почему Wayland считают более безопасным?
- Что такое Xwayland и зачем он нужен в Wayland-сессии?
- Какой файл или симлинк определяет, какой менеджер входа запускается при загрузке, и как его сменить в Debian и в Fedora?
- В чём разница ssh -X и ssh -Y, и что должно быть настроено на сервере для X-форвардинга?
- Почему VNC нельзя выставлять в интернет напрямую и как защитить соединение?
- Назовите три средства доступности рабочего стола и команду gsettings для включения одного из них.