KDE のアプリケーション ランチャーにスタンドアロン アプリを登録する

KDE のアプリケーション ランチャーにスタンドアロン アプリを登録する

まず、私は Kubuntu 12.04 を使用しています。

いくつかのソフトウェア (Intellij の Phpstorm IDE ですが、関係ないと思います) のスタンドアロン インストールをダウンロードして解凍しました。解凍したディレクトリを/optsudo を使用して自分のディレクトリにコピーしました。

sudo問題なく、コマンドラインからメインのシェル スクリプトを起動できます。


私は自分のアプリを実行したいのでApplication Launcher、ランチャーアイコンからアプリを実行しEdit Applications...、メインシェルスクリプトへのパスを新しいエントリ(/opt/PhpStorm-111.344/bin/phpstorm.sh)に追加して保存しました。新しく追加されたエントリをクリックしても何も起こらず、アプリケーションが起動しません。KDEでのアプリケーションの登録に関する質問、そしてそれがダイアログの目的である(と私は思う)ので、この状況には当てはまらないと思いますEdit Applications...

では、何が足りないのでしょうか? ダイアログ エントリでコマンドを実行する別の方法を指定する必要がありますか? これは.desktopファイルの問題ですか? それとも他の何かですか?

私はコマンド/opt/PhpStorm-111.344/bin/phpstorm.shALT+F2 走る$JAVA_HOMEボックスでターミナルを起動します。変数が見つからないというメッセージが返されました。

さて、確かにファイル$JAVA_HOMEに環境変数が設定されており.bashrc、コマンドから確認できますecho $JAVA_HOME。繰り返しになりますが、ターミナルを開いてそこからシェル スクリプトを実行するだけで、問題なくアプリケーションを実行できます。つまり、変数は$JAVA_HOMEそのコンテキストで確認できます。ログアウトして再度ログインし、 を実行しましたsource ~/.bashrcが、どちらも役に立たないようです。

今のところ、変数の実行を妨げているのは、何らかのユーザー権限の問題であると考えられます$JAVA_HOME

助言がありますか?

答え1

ディスプレイ/xsession マネージャーの設定方法によっては、が呼び出される~/.bashrc前に がソース化されない可能性がありますstartkde。そのため、 を設定している場所がそこである場合$JAVA_HOME、KDE ​​デスクトップでは が認識されない可能性があります。

ありがたいことに、は 内のすべてのディレクトリからstartkdeソースを取得するように設定されています。 これにはまたは類似のものが含まれる可能性が高いため、変数を KDE セッション全体に存在させたい場合は、 を含むシェル スクリプトをそこにドロップするだけです。*.shkde4-config --path lib | tr : '\n' | sed -n -e 's,/lib[^/]*/,/env/,p'~/.kde4/envexport

答え2

2 行のスクリプトを使用する簡単な回避策があります。$JAVA_HOME変数を適切なパスに再エクスポートし、アプリケーションのメイン シェル スクリプトを呼び出すだけです。KDE アプリケーション ランチャーをこの新しいスクリプトに再ポイントすると、アプリケーションが期待どおりに起動します。

ただし、私が作成したスクリプトのコンテキスト外では正しい変数定義が明確にわかるので、なぜこれを行う必要があるのか​​まだわかりません$JAVA_HOME。したがって、なぜこのようなことが起こるのかを説明できる人がいれば、喜んでそれをこの質問に対する適切な回答としてマークします。

関連情報