Shell-Script
為什麼點兩下 .desktop 文件時沒有解析環境變數?
我有一個由 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,為我指明了正確的方向)