1. 简介示例
桌面入口文件(Desktop Entry File)是一种遵循 Freedesktop.org 制定的 Desktop Entry Specification 标准的配置文件,主要用于 Linux 和其他类 Unix 系统的桌面环境中的通用文件(包括 GNOME、KDE、XFCE 和 Unity 等)
这类文件以 .desktop 为扩展名,一般Linux桌面环境中的常用程序入口文件存储在 /usr/share/applications/ 或 ~/.local/share/applications/ 目录下
以下是一个简单的示例
bash
复制代码
[Desktop Entry]
Type=Application
Name=My Application
Exec=gedit %F
Icon=accessories-text-editor
Categories=Utility;TextEditor;
Terminal=false
2. 字段详情
2.1 基本类型字段
| 字段 |
说明 |
Type |
桌面条目类型(Application / Link / Directory) |
Version |
规范版本(如 1.5) |
2.2 启动相关(Application 类型专用)
| 字段 |
说明 |
| Exec |
启动命令(支持 %f 等占位符) |
| TryExec |
测试Exec启动程序是否存在 ,不存在则不会启动 |
| Path |
启动时的工作目录 |
| Terminal |
是否在终端运行(true / false) |
| StartupNotify |
是否启用启动通知 |
| StartupWMClass |
窗口类名(Unity / GNOME 重要) |
其中Exec字段后面可以使用一组占位参数(field codes),用于接收文件、URL、图标等,常用与用户右键选择启动程序,当用户使用对应的.desktop程序打开一个txt文本文件,会传入该文件路径作为占位参数,常用代码如下
| code |
说明 |
%f |
单个文件路径 |
%F |
多个文件路径 |
%u |
单个 URL |
%U |
多个 URL |
2.3 应用显示相关
| 字段 |
说明 |
| Name |
应用显示名称 |
| GenericName |
通用名称(如"文本编辑器") |
| Comment |
简短描述(tooltip) |
| Icon |
图标名称或路径 |
以上字段都支持本地化:
bash
复制代码
Name[zh_CN]=我的应用
Comment[zh_TW]=示例程式
2.6 可见性
| 字段 |
说明 |
| NoDisplay |
true:不在菜单显示 |
| Hidden |
true:等同于被删除 |
| OnlyShowIn |
只在指定桌面显示 |
| NotShowIn |
不在指定桌面显示 |
例如仅在GNOME和Unity桌面显示:
bash
复制代码
OnlyShowIn=GNOME;Unity;
2.7 其他
| 字段 |
说明 |
| Categories |
菜单分类(必须合法) |
| Keywords |
搜索关键字 |
| MimeType |
支持的 MIME 类型列表 |
例如关联text文件:
bash
复制代码
MimeType=text/plain;application/json;
3. 常用桌面入口文件位置
| 位置 |
作用 |
~/.local/share/applications/ |
当前用户 |
/usr/share/applications/ |
系统全局 |
/usr/local/share/applications/ |
本地安装 |
~/.config/autostart/ |
当前用户自启 |
/etc/xdg/autostart/ |
系统全局自启 |
参考
Desktop Entry Specification(官方)