Qual è la differenza tra DESKTOP_SESSION, XDG_SESSION_DESKTOP e XDG_CURRENT_DESKTOP?


9

Voglio rilevare che desktop manager Sono in esecuzione, e ho scoperto che ci sono tre variabili d'ambiente, DESKTOP_SESSION, XDG_SESSION_DESKTOP, e XDG_CURRENT_DESKTOPche potrebbe aiutarmi a fare così. Ma qual è esattamente la differenza tra queste tre variabili? Grazie in anticipo.

Risposte:


2

Non sono sicuro di quali siano le ragioni ufficiali per avere molte variabili diverse, molto probabilmente diversi gestori di finestre e display fanno tutte le proprie configurazioni particolari.

Ma sembrano tutti uguali, quindi usare qualcuno dovrebbe funzionare ...

Ecco cosa ha l'XFCE di Mint:

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

e anche

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

O (da env):

XDG_MENU_PREFIX=xfce-
UPSTART_JOB=startxfce4

La tua scommessa migliore (se hai wmctrl) può essere questa combinata con grep / cut:

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

Puoi anche utilizzare un Window Manager e un Display Manager diversi e alcune diverse distribuzioni memorizzano i dati in luoghi diversi, quindi la confusione regna sovrana . Vedi questi Q molto correlati:

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.