在 KDE 的應用程序啟動器中註冊獨立應用程序
首先,我使用的是 Kubuntu 12.04。
我剛剛下載並解壓了一些軟體的獨立安裝(Intellij 的 Phpstorm IDE,但我認為這並不重要)。我已經
/opt
使用 sudo 將解壓後的目錄複製到了我的目錄中。我可以從命令行啟動主 shell 腳本而無需使用
sudo
。我想從我的
Application Launcher
所以執行應用程序,我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
是阻止它執行的變數的某種使用者權限問題。有什麼建議?
根據您的 display/xsession 管理器的設置方式,在呼叫
~/.bashrc
之前可能沒有來源startkde
,所以如果這是您設置的地方$JAVA_HOME
,您的 KDE 桌面上什麼都看不到。有用的
startkde
是,設置為*.sh
從kde4-config --path lib | tr : '\n' | sed -n -e 's,/lib[^/]*/,/env/,p'
. 這可能包含~/.kde4/env
或類似的,因此如果您希望變數在 KDE 會話範圍記憶體在,只需在export
其中放置一個 shell 腳本。
我有一個涉及 2 行腳本的簡單解決方法。它只是將變數重新導出
$JAVA_HOME
到適當的路徑,然後呼叫應用程序的主 shell 腳本。將 KDE 應用程序啟動器重新指向這個新腳本會按預期啟動應用程序。不過,我仍然不確定為什麼需要這樣做,因為我可以
$JAVA_HOME
在我設計的腳本的上下文之外清楚地看到正確的變數定義。因此,如果有人可以闡明為什麼會發生這種情況,我很樂意將其標記為該問題的適當答案。