Shell-Script

為什麼點兩下 .desktop 文件時沒有解析環境變數?

  • July 28, 2021

我有一個由 shell 腳本啟動的 Java 應用程序。shell 腳本的第一部分是通過查看$JAVA_HOME.

如果從終端啟動 shell 腳本執行良好,但如果通過點兩下.desktop包含以下內容的文件啟動它會失敗

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

查看日誌似乎發生了錯誤,因為$JAVA_HOME以這種方式啟動腳本時沒有返回任何內容。

我試圖替換/bin/sh為,/bin/bash但它也失敗了。

知道為什麼沒有以這種方式找到環境變數嗎?我該怎麼辦?

從 Ubuntu 文件1

通常建議使用 Shell 配置文件,例如 ~/.bashrc、~/.bash_profile 和 ~/.bash_login 來設置環境變數。雖然這可能適用於從 shell 啟動的程序的 Bash shell,但這些文件中設置的變數預設情況下不適用於從桌面會話中的圖形環境啟動的程序。

因此,解決方法是聲明$JAVA_HOME.profile再次登錄。

(謝謝​​@plumo,為我指明了正確的方向)

引用自:https://unix.stackexchange.com/questions/592233