Kde

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

  • September 15, 2016

首先,我使用的是 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.shALT+F2 執行框執行命令,呼叫終端。我收到一條消息,抱怨$JAVA_HOME找不到該變數。

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

我現在想這$JAVA_HOME是阻止它執行的變數的某種使用者權限問題。

有什麼建議?

根據您的 display/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 行腳本的簡單解決方法。它只是將變數重新導出$JAVA_HOME到適當的路徑,然後呼叫應用程序的主 shell 腳本。將 KDE 應用程序啟動器重新指向這個新腳本會按預期啟動應用程序。

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

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