web-dev-qa-db-ja.com

端末から実行中のGUI環境を見つけるにはどうすればよいですか?

非常に基本的な質問ですが、満足のいく答えがどこにも見つかりませんでした。

端末から実行中のGUIを確認するにはどうすればよいですか?


私が取り組んでいるシステムは非常に最小限で、表示できるのはxtermウィンドウだけで、そこからアプリケーションを(別のウィンドウで)開くことができます。デスクトップの空き領域を右クリックして、新しいxtermウィンドウを開くことができます。アプリケーション、つまり新しいウィンドウを開くたびに、実際にウィンドウを開くには、画面の空いている領域をマウスでクリックする必要があります。

この質問は重複しているとは思いません デスクトップ環境の名前を取得する方法はありますか? 私の設定はその設定とは少し異なり、その答えはどれも機能しません私のために。

15
simona

envと入力して、構成されている環境を確認できます。

これから次の応答が見つかりました link

  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を選択した場合は「ubuntu-2d」が出力されます。)

DESKTOP_SESSIONやCOMPIZ_CONFIG_PROFILEなどのenvの出力を詳しく見ると、他にもあります。

あなたが探しているのはウィンドウマネージャが使用しているものの名​​前なので、これを取得する方法を確認する唯一の方法はプロセスリストを調べることです。これを行うには、pgrep(ウィキペディア)と呼ばれるコマンドがあります。パラメーター-lがプロセスIDを追加するため、次のようにして名前を取得しました。

pgrep -l compiz |cut -d " " -f2プロセスは同じユーザーによって実行されているため、Sudo部分にプレフィックスを付ける必要はありません。これを使用して、ウィンドウマネージャーに基づいてアクションを実行するスクリプトを作成できます。

他のタイプを探すには、単語compizmutterkwinなどに変更します。

Ubuntu 12.04で環境変数XDG_CURRENT_DESKTOPおよびGDMSESSIONをテストし、次の結果を得ました。

[〜#〜] kde [〜#〜]

XDG_CURRENT_DESKTOP = GDMSESSION = kde-plasma Unity 3d

XDG_CURRENT_DESKTOP = Unity GDMSESSION = ubuntu Unity 2d

XDG_CURRENT_DESKTOP = Unity GDMSESSION = ubuntu-2d

Gnome

XDG_CURRENT_DESKTOP = GNOME GDMSESSION = gnome-Shell

Gnomeクラシック

XDG_CURRENT_DESKTOP = GNOME GDMSESSION = gnome-classic

Gnome Classicの影響なし

XDG_CURRENT_DESKTOP = GNOME GDMSESSION = gnome-fallbackその他のUbuntuベースのディストリビューション:

ミント13(シナモン)

XDG_CURRENT_DESKTOP = GNOME GDMSESSION =シナモン

ルブントゥ12.04

XDG_CURRENT_DESKTOP = LXDE GDMSESSION = Lubuntu

12
Raza