これは非常に基本的な質問ですが、どこでも満足のいく答えが見つかりません。
端末で実行されているGUIを見つける方法は?
私が開発しているシステムは非常に小さく、アプリケーションを開くことができるxtermウィンドウのみを見ることができます(別ウィンドウで)。デスクトップの空き領域を右クリックすると、新しいxtermウィンドウを開くことができます。アプリケーションを開くたびに新しいウィンドウを開くたびに実際にウィンドウを開くには、画面の空白領域をマウスでクリックする必要があります。
この質問は重複した質問ではないようです。デスクトップ環境の名前を検索する方法はありますか?、私の設定はその設定とは少し異なるので、その答えのどれも私には役に立ちませんでした。
答え1
env
入力して、どの環境が構成されているかを確認できます。
次の回答を見つけます。協会
XDG_CURRENT_DESKTOP - Tells you what Windows Manager you are using
GDMSESSION - Tells you what option you selected from the lightdm greeter to login.
これを使用するには、端末に移動して次のように入力します。
echo $XDG_CURRENT_DESKTOP
(たとえば、Unityを使用している場合は「unity」が出力されます)
または
echo $GDMSESSION
(たとえば、ログイン時にubuntuを選択した場合は「ubuntu」が出力され、ログイン時に「ubuntu-2d」を選択した場合は「ubuntu-2d」が出力されます。)
env の出力を詳しく見てみると、DESKTOP_SESSION や COMPIZ_CONFIG_PROFILE などの他の項目も見つけることができます。
あなたが探しているのは、使用しているウィンドウマネージャの名前なので、名前を取得する方法を知る唯一の方法はプロセスのリストを見ることです。これにはpgrep(Wikipedia)というコマンドがあります。 -l パラメーターにプロセス ID が追加されたため、名前を取得するには、次のようにしました。
pgrep -l compiz |cut -d " " -f2
プロセスは同じユーザーによって実行されるため、sudo部分の前にプレフィックスを付ける必要はありません。その後、それを使用してウィンドウマネージャに基づいてタスクを実行するスクリプトを作成できます。
別の種類を見つけるには、単語をcompiz
別の種類mutter
(kwin
など)に変更するだけです。
Ubuntu 12.04で環境変数XDG_CURRENT_DESKTOPとGDMSESSIONをテストしたところ、次の結果が得られました。
ケード
XDG_CURRENT_DESKTOP= GDMSESSION=kde - プラズマユニット 3d
XDG_CURRENT_DESKTOP=Unity GDMSESSION=Ubuntu Unity 2d
XDG_CURRENT_DESKTOP=Unity GDMSESSION=ubuntu-2d
小人
XDG_CURRENT_DESKTOP=GNOME GDMSESSION=GNOME シェル
ドワーフクラシック
XDG_CURRENT_DESKTOP=GNOME GDMSESSION=GNOME - クラシック
GNOMEクラシックは効果がありません
XDG_CURRENT_DESKTOP=GNOME GDMSESSION=gnome-fallback その他 Ubuntu ベースのディストリビューション:
ミント13(シナモン)
XDG_CURRENT_DESKTOP=GNOME GDMSESSION=シナモン
ルーベン図12.04
XDG_CURRENT_DESKTOP=LXDE GDMSESSION=ルブンツ