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