在 KDE 的應用程式啟動器中註冊獨立應用程式

在 KDE 的應用程式啟動器中註冊獨立應用程式

首先,我使用的是 Kubuntu 12.04。

我剛剛下載並解壓縮了一些軟體的獨立安裝(Intellij 的 Phpstorm IDE,但我認為這並不重要)。我已使用 sudo 將解壓縮後的目錄複製到我的/opt目錄中。

我可以從命令列啟動主 shell 腳本,而無需使用,sudo沒有任何問題。


我想從我的Application Launcherso 運行該應用程序,我Edit Applications...從啟動器圖標運行該應用程序,並將主 shell 腳本的路徑添加到新條目 ( /opt/PhpStorm-111.344/bin/phpstorm.sh) 中並保存。每當我單擊新新增的條目時,沒有任何反應,應用程式不會啟動。我見過這個關於在 kde 中註冊應用程式的問題,而且我認為它不適用於這種情況,因為這就是對話框Edit Applications...應該做的(我認為)。

那我錯過了什麼?我是否需要在對話方塊條目中指定運行命令的另一種方式?這是.desktop文件問題嗎?還有別的事嗎?

/opt/PhpStorm-111.344/bin/phpstorm.sh我從以下位置運行了命令ALT+F2 跑步框,調用終端。我收到一條訊息,抱怨$JAVA_HOME找不到該變數。

現在,我的文件中確實有一個$JAVA_HOME環境變數設置.bashrc,並且可以從命令中看到它echo $JAVA_HOME。同樣,如果我只是打開一個終端並從那裡運行 shell 腳本,我就可以毫無問題地運行應用程序,因此$JAVA_HOME可以在該上下文中看到該變數。我已經登出並重新登入並運行source ~/.bashrc,但似乎都沒有幫助。

我現在認為這是變數的某種用戶權限問題導致$JAVA_HOME其無法運行。

有什麼建議麼?

答案1

根據您的顯示/xsession 管理員的設定方式,在呼叫~/.bashrc之前可能不會取得來源startkde,因此如果您正在設定該位置$JAVA_HOME,則 KDE 桌面上的任何內容都不會看到它。

有用的是,startkde設定為*.shkde4-config --path lib | tr : '\n' | sed -n -e 's,/lib[^/]*/,/env/,p'.這可能包含~/.kde4/env或類似的內容,因此如果您希望 KDE 會話範圍內存在一個變量,只需刪除一個export帶有 的 shell 腳本即可。

答案2

我有一個簡單的解決方法,涉及 2 行腳本。它只是將變數重新匯出$JAVA_HOME到適當的路徑,然後呼叫應用程式的主 shell 腳本。將 KDE 應用程式啟動器重新指向此新腳本將如預期啟動應用程式。

我仍然不確定為什麼需要這樣做,因為我可以$JAVA_HOME在我設計的腳本的上下文之外清楚地看到正確的變數定義。因此,如果有人能夠闡明為什麼會發生這種情況,我很樂意將其標記為該問題的適當答案。

相關內容