Jaka jest różnica między DESKTOP_SESSION, XDG_SESSION_DESKTOP i XDG_CURRENT_DESKTOP?

9

Chcę, aby wykryć który Desktop Manager używam, i okazało się, że istnieją trzy zmienne środowiskowe, DESKTOP_SESSION, XDG_SESSION_DESKTOP, i XDG_CURRENT_DESKTOPktóre mogłyby mi pomóc to zrobić. Ale jaka dokładnie jest różnica między tymi trzema zmiennymi? Z góry dziękuję.

Sora Minazuki
źródło

Odpowiedzi:

2

Nie jestem pewien, jakie są oficjalne powody posiadania wielu różnych zmiennych, najprawdopodobniej różne menedżery okien i ekranów wykonują swoje własne konfiguracje.

Ale wszystkie wyglądają tak samo, więc korzystanie z każdego powinno działać ...

Oto, co ma XFCE firmy Mint:

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

i również

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

Lub (z env):

XDG_MENU_PREFIX=xfce-
UPSTART_JOB=startxfce4

Twój najlepszy zakład (jeśli masz wmctrl) może być połączony z grep / cut:

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

Możesz także używać innego Menedżera okien i Menedżera wyświetlania, a niektóre różne dystrybucje przechowują dane w różnych miejscach, więc zamieszanie jest najważniejsze . Zobacz te bardzo powiązane pytania:

Xen2050
źródło