Я хочу определить, какой менеджер рабочего стола я использую, и обнаружил, что есть три переменные среды: DESKTOP_SESSION
, XDG_SESSION_DESKTOP
и XDG_CURRENT_DESKTOP
которые могут помочь мне в этом. Но в чем именно разница между этими тремя переменными? Заранее спасибо.
8
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
Вы также можете использовать другой диспетчер окон и диспетчер дисплеев, и в некоторых разных дистрибутивах данные хранятся в разных местах, так что путаница царит. Посмотрите эти очень похожие вопросы: