我建立了一個 .desktop 檔案。
[Desktop Entry]
Exec=cd /opt/sqldeveloper/sqldeveloper/bin && bash sqldeveloper $*
Terminal=false
StartupNotify=true
Categories=GNOME;Oracle;Utility;Development;
Type=Application
Icon=/opt/sqldeveloper/icon.png
Name=Oracle SQL Developer
Comment=what to say
Version=s.0.m.t.h.i.n.g
GenericName=ORACLE SQL DEVELOPER
如果在 Nautilus 中查看,它/usr/share/applications
甚至會顯示該圖標,但是當我按 alt(破折號或 windows 鍵)並蒐索它時,它不可見。
我也嘗試過:
sudo update-desktop-database
答案1
您的 .desktop 檔案中的關鍵問題是什麼
我嘗試將您的 .desktop 檔案替換Exec=
為另一個(簡單且有效)命令,該檔案似乎可以正常工作,並且不會被 Dash 拒絕。
一個常見的誤解是您可以將Exec=
.desktop 檔案的行當作終端視窗來使用。事實並非如此;例如,像~/
或那樣擴充$HOME
不起作用。將更複雜的命令放在單獨的腳本檔案中,從啟動器檔案(您的.desktop
檔案)執行是一個很好的(意思是:簡單的)做法
從 .desktop 檔案執行複雜的命令
如果你特別想保留你的命令裡面您的.desktop
文件,您應該按如下方式製作:
Exec=sh -c "your_complicated_command_here && the_rest_of_it"
(command inside quotes)
從 .desktop 檔案運行腳本來完成這項工作
假設你的命令
cd /opt/sqldeveloper/sqldeveloper/bin && bash sqldeveloper $*
從終端視窗工作,但是我會簡單地建立一個小腳本:
#!/bin/bash
cd /opt/sqldeveloper/sqldeveloper/bin && bash sqldeveloper $*
將其另存為,並將.desktop 檔案的行scriptname.sh
更改為:Exec=
Exec=sh /path/to/scriptname.sh
然後你的.desktop
文件就會出現在 Dash 中
筆記
正如 @Braiam 和 @MrVaykadji 所提到的,您的 .desktop 檔案有更多問題。舉幾個例子:
- 您不應該只使用行中的虛構值
Categories=
,因為您可以閱讀這裡 - 版本欄位不是必需的,但如果使用它,請使用 1.0
可以找到更多這裡。好工具你可以找到這裡(也感謝@Braiam 和@MrVaykadji)。
然而,導致 .desktop 檔案不出現在 Dash 中的關鍵因素是這一Exec=
行。