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