簡述
在 Linux 系統中,.desktop 文件是 桌面入口文件,用于在桌面環境(如 GNOME、KDE)中定義應用程序的啟動方式、圖標、名稱等信息。當你執行 touch idea.desktop 時,實際上創建了一個空的 .desktop 文件(例如為 JetBrains IDEA 或其他軟件創建快捷方式)
-
.desktop文件的作用
- 圖形化快捷方式:讓應用程序出現在系統菜單、桌面或 Dock 中
- 自定義啟動參數:指定啟動命令、工作目錄、環境變量等
- 統一管理應用入口:標準化應用在 Linux 桌面環境中的集成
-
文件內容結構
一個典型的 .desktop 文件需要包含以下關鍵字段
[Desktop Entry]
Type=Application
Name=IntelliJ IDEA Community Edition
Icon=/home/idea-IC-202.7660.26/bin/idea.svg # 自己idea的icon位置
Exec=sudo /home/idea-IC-202.7660.26/bin/idea.sh # 自己idea的腳本位置,前面要加sudo
Comment=Capable and Ergonomic IDE for JVM
Categories=Development;IDE;
Terminal=true # 如果沒有給自己賬戶root權限就需要這里設為true來啟動終端輸入密碼
StartupWMClass=xxxx # 需要使用命令查詢填充
字段 | 說明 |
---|---|
Type=Application | 固定值,表示這是一個應用程序入口 |
Name | 顯示在菜單中的應用程序名稱 |
Exec | 實際執行的命令或腳本路徑(必須絕對路徑) |
Icon | 應用程序圖標的路徑(支持 PNG、SVG 等格式) |
Categories | 應用分類(如 Development、IDE),影響菜單歸類 |
Terminal | 是否在終端中運行(true/false) |
StartupWMClass | 將應用程序窗口與桌面入口(快捷方式)精準關聯(避免任務欄/啟動器中出現重復圖標 / 精準匹配窗口類名),啟動應用后,運行終端xprop WM_CLASS命令,然后點擊對應窗口,得到 WM_CLASS(STRING) = “Navigator”, “firefox”,取第二個字符串 |
-
正確創建 .desktop 文件的步驟
- 創建并編輯文件(內容如上)
vim idea.desktop
- 賦予執行權限
chmod +x idea.desktop
- 放置到標準目錄
- 用戶級快捷方式(僅當前用戶生效)
mv idea.desktop ~/.local/share/applications/
- 系統級快捷方式(所有用戶生效)
sudo mv idea.desktop /usr/share/applications/
- 用戶級快捷方式(僅當前用戶生效)
- 創建并編輯文件(內容如上)
-
常見問題
- 問題 1:快捷方式不顯示或無法啟動
- 原因:路徑錯誤、權限不足或文件格式錯誤
- 解決:
- 檢查 Exec 和 Icon 的路徑是否正確;
- 確保文件有可執行權限:chmod +x idea.desktop;
- 驗證文件語法:desktop-file-validate idea.desktop
- 問題 2:圖標不顯示
- 原因:圖標路徑錯誤或格式不支持
- 解決:
- 使用絕對路徑指向圖標文件(如 /opt/idea/bin/idea.png)
- 確保圖標文件存在且格式為 PNG/SVG
- 問題 1:快捷方式不顯示或無法啟動