Как определить установленное рабочее окружение в Linux

Что такое рабочее окружение
Рабочее окружение (desktop environment, DE) — это набор программ, который делает операционную систему графически интерактивной: панель задач, меню, менеджер окон, системные настройки и сопутствующие приложения. В одном предложении: DE — это внешний интерфейс и утилиты, которые обеспечивают удобную работу с системой.
Ключевые компоненты DE:
- Менеджер окон (window manager) — управляет размещением, фокусировкой и декорациями окон.
- Композитный менеджер — отвечает за эффекты (тени, прозрачность).
- Набор приложений — файловый менеджер, терминал, системные настройки и т. п.
Важно: DE отличается от оконного менеджера — можно использовать только WM без полноценного DE (например, i3, Openbox).
Популярные рабочие окружения
Ниже перечислены часто встречающиеся DE и краткое описание их характера:
- GNOME — современный, фокус на простоте и целостности интерфейса.
- KDE Plasma — настраиваемый и функциональный, ориентирован на широкий набор опций.
- Xfce — лёгкий и быстрый, часто используется на старых машинах.
- MATE — форк классического GNOME 2, привычен пользователям старых интерфейсов.
- Cinnamon — разработан для удобства и эстетики (популярен в Linux Mint).
- LXQt/LXDE — минималистичные окружения для очень слабого железа.
Как проверить текущее рабочее окружение в Linux
Ниже — подробный набор методов: от простых до продвинутых. Следуйте по порядку, пока не получите понятный ответ.
1) Использование переменных окружения
Самый быстрый способ — посмотреть переменные среды, которые X-сессия или Wayland-сессия устанавливают при входе в систему.
Команды (в терминале):
echo $XDG_CURRENT_DESKTOPecho $DESKTOP_SESSIONЕсли одна из этих переменных установлена, она обычно содержит название DE (например, Xfce, GNOME, KDE).
Примечание: некоторые дистрибутивы или дисплейные менеджеры могут устанавливать разные значения — сравните оба варианта.
2) Поиск исполняемой сессии в /usr/bin
В каталоге /usr/bin часто находятся исполняемые файлы с именем *-session (например, xfce4-session, mate-session). Просмотр этих файлов даёт понимание того, какие сессии доступны и, возможно, какая используется:
ls /usr/bin/*-sessionЕсли среди вывода есть xfce4-session — вероятно, система использует Xfce.
3) Просмотр процессов графической сессии
Иногда удобнее искать активные процессы, характерные для конкретных DE:
ps -e | grep -E 'gnome-shell|ksmserver|xfce4-session|cinnamon|mate-session|plasmashell' --color=autoЕсли виден gnome-shell — вы в GNOME; plasmashell и kwin указывают на KDE Plasma и т. д.
Важно: имена процессов могут отличаться в разных версиях, поэтому комбинируйте этот метод с проверкой переменных среды.
4) Использование утилит (neofetch, screenfetch, inxi)
Neofetch, screenfetch и inxi выводят информацию о системе, включая DE. Их нужно установить из репозитория:
Debian/Ubuntu:
sudo apt install neofetchFedora:
sudo dnf install neofetchArch:
sudo pacman -S neofetchЗапуск:
neofetchNeofetch покажет строку «Desktop» или «DE», где будет указана версия (например, Xfce 4.16). Inxi тоже полезен:
sudo apt install inxi # при необходимости
inxi -S5) Просмотр файлов .desktop в /usr/share/xsessions
Каталог /usr/share/xsessions содержит .desktop-файлы, которые региструют возможные графические сессии. Они не всегда показывают запущенный DE, но показывают, какие сессии доступны на машине:
ls /usr/share/xsessionsВывод может содержать файлы с именами типа xfce.desktop, gnome.desktop, plasma.desktop и т. п.
6) Графический способ через «О системе»
Большинство DE предоставляют способ посмотреть сведения о системе через графические настройки: в GNOME это «О системе» или “About”; в KDE — «О системе» в настройках. Откройте настройки → О системе и посмотрите информацию о рабочем окружении и его версии.
7) Когда никакой из методов не сработал
- Проверьте, используете ли вы изначально X-сессию или Wayland — в Wayland некоторые переменные отличаются.
- Если вы в чистой X-сессии без DE (только оконный менеджер), то перечисленные методы могут не дать названия DE — в этом случае ищите running WM (i3, openbox, bspwm и т. п.) по процессам.
Мини-методология: быстрый план действий
- Откройте терминал.
- Выполните: echo $XDG_CURRENT_DESKTOP. Если есть результат — задачa решена.
- Выполните: echo $DESKTOP_SESSION и сравните результат.
- Если результат пуст — выполните ps -e | grep -E ‘<список>’ для проверки процессов.
- Установите и запустите neofetch или inxi для подтверждения.
- Если всё ещё не ясно — загляните в /usr/share/xsessions и /usr/bin/*-session.
Эта последовательность решает около 95% повседневных случаев.
Модель мысли: DE vs WM vs Compositor
- DE — набор приложений и сервисов, обеспечивающих полноценный рабочий стол.
- WM — управляет окнами (фокус, размеры, расположение).
- Compositor — рисует эффекты и объединяет окна в final buffer (пример: compton/picom, Mutter, KWin).
Понимание этой разницы помогает объяснить, почему иногда вы видите только WM (например, i3) и не находите «DE» по привычным методам.
Рольовые чек-листы
Для новичка:
- Откройте терминал.
- Выполните echo $XDG_CURRENT_DESKTOP.
- Если непонятно — установите neofetch и выполните neofetch.
Для локального администратора / сисадмина:
- Проверьте /usr/bin/*-session и /usr/share/xsessions.
- Выполните ps для процессов: gnome-shell, plasmashell, xfce4-session.
- Сверьте с настройками дисплейного менеджера (GDM, SDDM, LightDM).
Для разработчика/DevOps:
- Учитывайте Wayland/Xorg (переменные и процессы отличаются).
- Если нужно автоматизировать — опирайтесь на XDG_CURRENT_DESKTOP и DESKTOP_SESSION, но проверяйте резервно процессы.
Альтернативные подходы и ограничения
- Автоматизация: не полагайтесь только на один источник (переменную среды). Комбинация env + ps + файловая проверка даёт надёжный результат.
- Контейнеры и chroot: внутри контейнера DE обычно отсутствует — команды вернут пустые или некорректные данные.
- Сервер без GUI: если у вас чистый сервер, большинство методов не применимы — графической сессии нет.
Диагностическое дерево (быстрая навигация)
flowchart TD
A[Запустите терминал] --> B{echo $XDG_CURRENT_DESKTOP}
B -- есть значение --> C[Готово: это ваш DE]
B -- пусто --> D{echo $DESKTOP_SESSION}
D -- есть значение --> C
D -- пусто --> E[ps -e | grep -E 'gnome-shell|xfce4-session|plasmashell|cinnamon|mate-session']
E -- процесс найден --> C
E -- не найден --> F[Проверьте /usr/share/xsessions и /usr/bin/*-session]
F --> G{Найдена .desktop или *-session}
G -- да --> H[Возможные DE: сопоставьте имя файла]
G -- нет --> I[Скорее всего — только оконный менеджер или headless]Когда рабочее окружение отсутствует
Некоторые пользователи сознательно устанавливают только оконный менеджер (i3, Openbox) или вовсе работают в консоли без DE. Это нормально, но методы автоматического определения DE тогда не сработают — придётся искать запущенные процессы оконного менеджера.
Краткая сводка: что делать и почему
- Сначала проверьте XDG_CURRENT_DESKTOP и DESKTOP_SESSION — быстро и безопасно.
- Если переменные пусты, ищите процессы, типичные для DE.
- Утилиты вроде neofetch и inxi дают удобный и читаемый вывод.
- Для автоматизации — комбинируйте методы и учитывайте Wayland vs Xorg.
Важно: не удаляйте файлы в /usr/share/xsessions и /usr/bin/*-session без понимания зависимостей — это может нарушить вход в графическую сессию.
Полезные команды-сборник (cheat sheet)
- echo $XDG_CURRENT_DESKTOP
- echo $DESKTOP_SESSION
- ls /usr/bin/*-session
- ls /usr/share/xsessions
- ps -e | grep -E ‘gnome-shell|plasmashell|xfce4-session|cinnamon|mate-session|ksmserver’
- neofetch
- inxi -S
Глоссарий в одну строку
- DE — рабочее окружение (графический интерфейс и утилиты).
- WM — оконный менеджер (управляет окнами).
- Compositor — компонент, рисующий эффекты и объединяющий окна.
Часто задаваемые вопросы
Как отличить DE от просто оконного менеджера?
DE включает набор приложений и сервисов (панели, меню, настройки). Оконный менеджер управляет только окнами и часто не содержит дополнительных приложений.
Почему echo $XDG_CURRENT_DESKTOP пустой?
В таком случае сессия могла не выставить эту переменную (особенно при использовании только WM) или вы в headless/текстовой среде.
Можно ли поменять рабочее окружение без переустановки дистрибутива?
Да. DE устанавливают как обычные пакеты. Вы можете установить другой DE и выбрать его при входе в систему через дисплейный менеджер.
Итог: сочетание проверки переменных среды, поиска процессов и использования утилит типа neofetch даёт надёжный способ определить текущее рабочее окружение. Если вы хотите сменить DE — установите желаемое окружение из репозиториев и выберите его при входе.