Linuxでは、実行中のウィンドウマネージャをプログラムで判断する必要があります。それがどのように使用されるかについてLinux OSでKDEまたはGnome環境が使用されているかどうかを検出する方法
擬似コード:
if(WindowManagerOfOS.isKDE()){
do.anyThing();
}
私はこれをどのように行うことができますか?それも可能ですか?
Linuxでは、実行中のウィンドウマネージャをプログラムで判断する必要があります。それがどのように使用されるかについてLinux OSでKDEまたはGnome環境が使用されているかどうかを検出する方法
擬似コード:
if(WindowManagerOfOS.isKDE()){
do.anyThing();
}
私はこれをどのように行うことができますか?それも可能ですか?
System.getenv("XDG_CURRENT_DESKTOP")
返信"GNOME"
私のマシンにあります。 KDEベースのボックスで試してみてください。
ユーザーは両方ともインストールできますが、両方の環境変数が存在する場合にのみ実行できます。実行中のプロセスをチェックする必要があります。 – Adam
Tomaz、私はこれをチェックするために 'KDE_SESSION_VERSION'を使用します。問題は、KDEがデスクトップを持っていないことです... –
私はコメントを忘れてしまった... System.getenv( "XDG_CURRENT_DESKTOP")はKDEネイティブのLinux Mint 12で私のためにnullを表示します。 –
も参照してください。どちらのデスクトップも既存の基準を満たしています。どちらもお互いのソフトウェアを動かすことができます。あなたは何をしようとしていますか?特定のサービスであれば、デフォルトでは1つのディストリビューションしか出荷されませんが、代わりにそのディストリビューションを探さなければなりません。
-1これは質問に対する回答ではなく、コメントであったはずです。 –
これは良い答えだと投票するつもりです。おそらく最高のものではないかもしれませんが、時には「しないでください」と言わなければならない場合があります。 –
人々が気にかけて知っておくべきさまざまな場所があります。最初の例はxdg-utilsの中にありますhttp://cgit.freedesktop.org/xdg/xdg-utils/tree/scripts/xdg-utils-common.in see detectDE ()は、xdg-su/xdg-terminalなどで使用され、グラフィカルなsudoラッパーをどのシェルで使用するかを決定します。固定されたAPIや標準でカバーされていない壁紙などの設定もあります。バラエティの壁紙アプリケーションは、次のスクリプトhttp://bazaar.launchpad.net/~peterlevi/variety/trunk/view/head:/data/scripts/set_wallpaperにあるとおりです。 – simotek
私は自分のコンピュータ上でこれをテストが、UIManager.getSystemLookAndFeelClassNameは()のいずれか1 – Adam
関連に返すものを見てみてくださいすることはできません。http://stackoverflow.com/questions/3376679/qt-how-to-detect-whether- the-application-running-on-gnome-or-kde –