Автор Тема: Какие есть простые способы узнать DE/WM linux?  (Прочитано 7349 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн myth

  • Новичок
  • **
  • Автор темы
  • Сообщений: 23
Как узнать, какое рабочее окружение и менеджер окон запущены под каким-нибудь пользователем, система *nix подобная, Xorg, доступ под этим пользователем есть. Ну и в минимальное число шагов, не разматывая списки процессов по ps -A, одной-двумя командами?

По env посмотрел переменные, вроде бы есть GDMSESSION показывает DE, всеже не факт что она будет на всех системах. XDG_CURRENT_DESKTOP есть от туда же.
« Последнее редактирование: Июль 01, 2013, 14:16:23 от myth »

Оффлайн Пользователь.

  • Местный
  • *****
  • Сообщений: 4639
pstree может показать дерево процессов
даже если найдешь экзотическую систему в которой эта команда не работает можно определить по содержимому файловой системы

Оффлайн myth

  • Новичок
  • **
  • Автор темы
  • Сообщений: 23
pstree может показать дерево процессов
Отличная идея, спасибо!

Оффлайн HsH

  • Administrator
  • *****
  • Сообщений: 3474

   "Полноценные" DE  (Gnome XFCE KDE и т.п.) обычно содержат переменную XDG_CURRENT_DESKTOP независимо от используемого менеджера дисплея.

   В графической сессии практически всегда присутствует переменная DESKTOP_SESSION, которая отображает текущую сессию:
runtu@Runtu:~$ echo $DESKTOP_SESSION
/usr/bin/openbox-session

Оффлайн myth

  • Новичок
  • **
  • Автор темы
  • Сообщений: 23
"Полноценные" DE  (Gnome XFCE KDE и т.п.) обычно содержат переменную XDG_CURRENT_DESKTOP независимо от используемого менеджера дисплея.
Огромное спасибо, не знал. Интересно, а что в случае со сборкой, взять ту же Xfce4 и поменять xfwm скажем на openbox (fluxbox, enlightment,.. ) $DESKTOP_SESSION по-прежнему будет Xfce? Или к примеру DE без десктопа, ну к уже перечисленным боксам и E17 можно добавить elementaryOS,что в этом случае будет в переменных?

Вообщем, теоретически, $DESKTOP_SESSION при замене WM в xfce должен показать openbox-session, как в вашем примере:

   В графической сессии практически всегда присутствует переменная DESKTOP_SESSION, которая отображает текущую сессию:
runtu@Runtu:~$ echo $DESKTOP_SESSION
/usr/bin/openbox-session
A XDG_CURRENT_DESKTOP должен быть xfce? (или xfdesktop)

А если окружение без DM, что в этом случае лежит в XDG_CURRENT_DESKTOP?

Очень трудно доходит. Одни десктопы )) В любом случае, если эти переменные есть во всех окружениях, то это реально круто :)
« Последнее редактирование: Июль 01, 2013, 18:19:11 от myth »

Оффлайн ivm ®

  • Местный
  • *****
  • Сообщений: 934
  • ivm@jabber.at
    • Matuntu
У меня на машине;
$ echo $DESKTOP_SESSION
mate
В качестве DM (дисплейный менеджер) используется LightDM.
WM - Compiz или Marco (по моему выбору).
« Последнее редактирование: Июль 01, 2013, 21:47:26 от ivm ® »
© ivm 1991 - настоящее время. All Rights Reserved.
OS Matuntu-Best/Matuntu-Trusty/Matuntu-TT64-M16

Оффлайн myth

  • Новичок
  • **
  • Автор темы
  • Сообщений: 23
Уже можно подвести итог:

У меня на машине;
$ echo $DESKTOP_SESSION
mate
В качестве DM (дисплейный менеджер) используется LightDM.
WM - Compiz или Marco (по моему выбору).

Спасибо, что просветили. Думаю можно считать, что $DESKTOP_SESSION присутствует во всех DE, пока не нашлось окружение где бы его не было.

WM можно определить через: wmctrl -m