.desktopファイルをダブルクリックしても環境変数が確認されないのはなぜですか?

.desktopファイルをダブルクリックしても環境変数が確認されないのはなぜですか?

シェルスクリプトで起動されたJavaアプリケーションがあります。シェルスクリプトの最初の部分は、Javaの場所を確認してそれを解決することです$JAVA_HOME

ターミナルで実行するとシェルスクリプトが正しく実行されますが、次の.desktopファイルをダブルクリックして実行すると失敗します。

Exec=/bin/sh "/opt/HO/HO" %U

ログを見ると$JAVA_HOME、このようにスクリプトを起動すると何も返されず、エラーが発生したようです。

/bin/shと交換してみましたが、/bin/bashやはり失敗しました。

なぜこのように環境変数が見つからないのか知っていますか?どうすればいいですか?

ベストアンサー1

Ubuntuのドキュメントから1:

通常、 ~/.bashrc、 ~/.bash_profile、 ~/.bash_login などのシェル構成ファイルを使用して環境変数を設定することをお勧めします。これはシェルで実行されているプログラムのBashシェルで機能しますが、これらのファイルに設定されている変数は、デスクトップセッションのグラフィカル環境で実行されているプログラムではデフォルトで使用できません。

したがって、回避策は請求して$JAVA_HOME再度.profileログインすることです。

(正しい方向を教えてくれた@plumoに感謝します)

おすすめ記事