Quelle est la différence entre DESKTOP_SESSION, XDG_SESSION_DESKTOP et XDG_CURRENT_DESKTOP?

9

Je veux détecter le gestionnaire de bureau , je suis en cours d' exécution, et j'ai découvert qu'il ya trois variables d'environnement, DESKTOP_SESSION, XDG_SESSION_DESKTOPet XDG_CURRENT_DESKTOPqui pourrait me aider à le faire. Mais quelle est exactement la différence entre ces trois variables? Merci d'avance.

Sora Minazuki
la source

Réponses:

2

Je ne sais pas quelles sont les raisons officielles d'avoir de nombreuses variables différentes, les différents gestionnaires de fenêtres et d'affichage font probablement leurs propres configurations particulières.

Mais tous se ressemblent, donc utiliser n'importe qui devrait fonctionner ...

Voici ce que XFCE de Mint a:

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

et aussi

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

Ou (de env):

XDG_MENU_PREFIX=xfce-
UPSTART_JOB=startxfce4

Votre meilleur pari (si vous en avez wmctrl) peut être combiné avec grep / cut:

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

Vous pouvez également utiliser un gestionnaire de fenêtres et un gestionnaire d'affichage différents, et certaines distributions différentes stockent des données à différents endroits, de sorte que la confusion règne en maître . Voir ces Q très liés:

Xen2050
la source