web-dev-qa-db-ja.com

DESKTOP_SESSION、XDG_SESSION_DESKTOP、およびXDG_CURRENT_DESKTOPの違いは何ですか?

実行しているデスクトップマネージャーを検出したいのですが、3つの環境変数があることがわかりました。DESKTOP_SESSIONXDG_SESSION_DESKTOP、およびXDG_CURRENT_DESKTOPこれは私がそうするのを助けることができます。しかし、これら3つの変数の違いは正確には何ですか?前もって感謝します。

9
Sora Minazuki

officialの理由が多くの異なる変数を持つ理由はわかりません。おそらく、異なるウィンドウおよびディスプレイマネージャーはすべて独自の特定の構成を行います。

しかし、それらはすべて同じに見えるので、どれを使用しても機能するはずです...

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

別のウィンドウマネージャーと表示マネージャーを使用することもでき、一部の異なるディストリビューションではデータを別の場所に保存するため、混乱が支配します。これらの非常に関連するQを参照してください。

2
Xen2050