Графика, рабочие столы и доступность

Рейтинг: 64% · 16 голосов
Полный курс LPIC-1 (экзамены 101-500 и 102-500): архитектура, загрузка, пакеты, команды и текст, ФС и права, шелл-скрипты, пользователи, сервисы, сеть, безопасность. Debian и RHEL.
Ответить
Аватара пользователя
Sergey_Sysadmin
Сообщения: 134
Зарегистрирован: 11 май 2026, 05:31

Графика, рабочие столы и доступность

Сообщение Sergey_Sysadmin »

Оглавление курса (41)
  1. Введение в LPIC-1 и как устроен путь администратора
  2. Железо, устройства и модули ядра [101.1]
  3. Загрузка системы: от BIOS до systemd [101.2]
  4. systemd, цели и уровни выполнения [101.3]
  5. План разметки диска и swap [102.1]
  6. Загрузчик GRUB 2 [102.2]
  7. Разделяемые библиотеки [102.3]
  8. Управление пакетами в Debian: dpkg и apt [102.4]
  9. Управление пакетами RPM, DNF и Zypper [102.5]
  10. Linux как гость виртуализации [102.6]
  11. Командная строка Bash [103.1]
  12. Обработка текста фильтрами [103.2]
  13. Базовое управление файлами [103.3]
  14. Потоки, конвейеры и перенаправление [103.4]
  15. Процессы: создание, мониторинг, сигналы [103.5]
  16. Приоритеты выполнения процессов [103.6]
  17. Регулярные выражения [103.7]
  18. Редактор vi и vim [103.8]
  19. Разделы и создание файловых систем [104.1]
  20. Целостность и обслуживание ФС [104.2]
  21. Монтирование файловых систем [104.3]
  22. Урок 21. Права доступа и владение: rwx, chmod, umask и специальные биты
  23. Жёсткие и символические ссылки
  24. FHS и поиск файлов в системе [104.7]
  25. Окружение и кастомизация оболочки [105.1]
  26. Урок 25. Написание простых bash-скриптов [105.2]
  27. Графика, рабочие столы и доступность (вы здесь)
  28. Учётные записи пользователей и групп
  29. Автоматизация задач: cron, at, таймеры [107.2]
  30. Локализация и интернационализация [107.3]
  31. Системное время и синхронизация [108.1]
  32. Системное логирование [108.2]
  33. Основы почтового агента (MTA) [108.3]
  34. Печать и CUPS [108.4]
  35. Основы интернет-протоколов [109.1]
  36. Постоянная конфигурация сети [109.2]
  37. Диагностика сети [109.3]
  38. DNS на стороне клиента [109.4]
  39. Задачи администрирования безопасности [110.1]
  40. Настройка безопасности хоста [110.2]
  41. Шифрование данных: SSH и GnuPG [110.3]
Урок 26. Графика, рабочие столы и доступность

Сервер обычно живёт без графики, но рано или поздно администратору приходится: поднять рабочую станцию для оператора, разобраться, почему после обновления не стартует экран входа, дать пользователю удалённый рабочий стол и настроить доступность для человека со слабым зрением. В этом уроке разбираем, как устроен графический стек 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.service
Сменить менеджер входа. Сначала установить, потом переключить.

Debian/Ubuntu:

Код: Выделить всё

apt install sddm
dpkg-reconfigure sddm           # диалог выбора DM
systemctl restart display-manager
RHEL/Fedora:

Код: Выделить всё

dnf install sddm
systemctl disable gdm
systemctl enable sddm
systemctl isolate graphical.target   # или reboot
X-форвардинг по SSH - запустить графическое приложение на сервере, окно на своём экране:

Код: Выделить всё

ssh -X user@server      # доверенный канал X11 (с ограничениями)
ssh -Y user@server      # без ограничений (trusted), удобнее, но менее безопасно
# на сервере:
xeyes &
Для этого на сервере в /etc/ssh/sshd_config нужен X11Forwarding yes и установленный xauth. Важно: проброшенному X11-клиенту нужен X-сервер на вашей стороне. Под Wayland его роль играет Xwayland, обычно всё работает прозрачно.

Удалённый рабочий стол целиком. 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
В современных GNOME служба gnome-remote-desktop (grd) умеет и RDP, и VNC, и работает в Wayland-сессии - это рекомендуемый путь в 2026.

Доступность включается в 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 для включения одного из них.
👍2 ❤️2 🔥1 😄 🤔3
Аватара пользователя
zero777
Сообщения: 1
Зарегистрирован: 15 май 2026, 22:50

Re: Графика, рабочие столы и доступность

Сообщение zero777 »

А как понять, какой композитор у меня крутится под GNOME - это Mutter всегда или зависит от сессии? Под Xorg тоже Mutter?
👍 ❤️ 🔥 😄 🤔
Аватара пользователя
grafana1
Сообщения: 1
Зарегистрирован: 04 июн 2026, 03:00

Re: Графика, рабочие столы и доступность

Сообщение grafana1 »

Проверил ssh -X на свежей Ubuntu - окно не вылезало, оказалось забыл доставить xauth на сервере. После apt install xauth заработало сразу.
👍 ❤️ 🔥 😄 🤔1
Ответить
← Предыдущая глава
Урок 25. Написание простых bash-скриптов [105.2]
Следующая глава →
Учётные записи пользователей и групп

Все главы курса «LPIC-1: администратор Linux (101 + 102)»

Поделиться темой: ✈ Telegram VK

Вернуться в «LPIC-1: администратор Linux»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость