8

Я хочу определить, какой менеджер рабочего стола я использую, и обнаружил, что есть три переменные среды: DESKTOP_SESSION , XDG_SESSION_DESKTOP и XDG_CURRENT_DESKTOP которые могут помочь мне в этом. Но в чем именно разница между этими тремя переменными? Заранее спасибо.

1 ответ1

0

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

Но все они выглядят одинаково, поэтому использование любого должно работать ...

Вот что у Mint XFCE:

$ echo $DESKTOP_SESSION 
xfce
$ echo $XDG_SESSION_DESKTOP 
xfce
$ echo $XDG_CURRENT_DESKTOP 
XFCE

а также

$ echo $SESSION
xfce
$ echo $MDMSESSION 
xfce
$ echo $GDMSESSION 
xfce

Или (из env):

XDG_MENU_PREFIX=xfce-
UPSTART_JOB=startxfce4

Ваша лучшая ставка (если у вас есть wmctrl) может быть в сочетании с grep/cut:

$ wmctrl -m
Name: Xfwm4
Class: xfwm4
PID: 5449
Window manager's "showing the desktop" mode: N/A

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .