在 Linux 桌面环境中,. .desktop 文件扮演着至关重要的角色,它是应用程序菜单项、启动器和工作区图标的配置基础,这种文件格式遵循 freedesktop.org 组织制定的规范,确保了不同桌面环境(如 GNOME、KDE、XFCE 等)之间的兼容性和一致性,通过 .desktop 文件,用户可以方便地启动应用程序、设置快捷方式,并自定义程序在菜单中的显示信息。

.desktop 文件的基本结构与语法
.desktop 文件是纯文本文件,通常以 [Desktop Entry] 开头,后跟一系列键值对配置项,每个键值对由 键=值 的形式组成,注释行以 开头,文件名通常遵循 应用名称.desktop 的格式,并存储在特定目录中,以便桌面环境能够识别和加载,以下是一个基础的 .desktop 文件示例:
[Desktop Entry] Version=1.0 Type=Application Name=Example App Comment=A sample application Exec=/usr/bin/example-app Icon=example-app Terminal=false Categories=Utility;Application;
核心配置项详解
.desktop 文件中的键值对决定了应用程序的启动行为和显示方式,以下是常用配置项的说明:
| 键名 | 类型 | 说明 | 示例 |
|---|---|---|---|
Version |
字符串 | 指定文件的版本号,通常为 0 |
Version=1.0 |
Type |
字符串 | 文件类型,常见值有 Application(应用程序)、Link(链接)、Directory(目录) |
Type=Application |
Name |
字符串 | 应用程序在菜单中显示的名称 | Name=Text Editor |
Comment |
字符串 | 应用程序的简短描述,鼠标悬停时显示 | Comment=Edit text files |
Exec |
字符串 | 启动应用程序的命令,可包含参数(如 %f、%u) |
Exec=gedit %U |
Icon |
字符串 | 应用程序的图标名称或路径 | Icon=org.gnome.gedit |
Terminal |
布尔值 | 是否在终端中运行程序,true 或 false |
Terminal=false |
Categories |
字符串 | 应用程序分类,用于菜单分组,多个分类用分号分隔 | Categories=Development;IDE; |
StartupNotify |
布尔值 | 是否启用启动通知,true 或 false |
StartupNotify=true |
Exec 键的参数占位符
Exec 键支持多种参数占位符,用于在启动时传递文件路径或 URL,常用的占位符包括:

%f:单个文件路径(仅用于本地文件)%F:多个文件路径(以空格分隔)%u:单个 URL%U:多个 URL(以空格分隔)%i:图标名称(可用于Exec命令中传递图标信息)%c:应用程序的名称(与Name键一致)
若需启动一个支持多文件打开的图像查看器,可设置 Exec=nomacs %F。
.desktop 文件的存储位置
.desktop 文件根据作用范围分为两类,存储在不同的目录中:
- 系统级文件:安装应用程序时由系统自动生成,所有用户可见,路径通常为
/usr/share/applications/或/usr/local/share/applications/。 - 用户级文件:由用户自定义,仅对当前用户生效,路径通常为
~/.local/share/applications/。
用户级文件的优先级高于系统级文件,允许用户覆盖或添加应用程序菜单项。

创建与编辑 .desktop 文件
用户可以手动创建 .desktop 文件以自定义启动器,以创建一个启动 VS Code 的桌面快捷方式为例,步骤如下:
- 在
~/.local/share/applications/目录下创建文件code.desktop。 - 编辑文件内容:
[Desktop Entry] Version=1.0 Type=Application Name=Visual Studio Code Comment=Code Editing. Redefined. Exec=/usr/bin/code Icon=code Terminal=false Categories=Development;IDE;
- 添加可执行权限:
chmod +x ~/.local/share/applications/code.desktop。 - 刷新桌面环境(如运行
update-desktop-database ~/.local/share/applications),或重启桌面会话。
高级用法与注意事项
- 隐藏菜单项:若需在菜单中隐藏某个
.desktop文件(如仅用作自定义快捷方式),可添加NoDisplay=true键。 - 环境变量:在
Exec键中使用环境变量时,需通过sh -c命令解析,Exec=sh -c '$MY_APP_VAR /path/to/app'。 - 权限问题:系统级
.desktop文件通常需要 root 权限编辑,而用户级文件无需特殊权限。 - 桌面环境兼容性:部分桌面环境(如 GNOME 3+)对
.desktop文件的安全策略较严格,可能会限制Exec键中的命令参数。
.desktop 文件是 Linux 桌面环境中管理应用程序入口的核心机制,通过简单的文本配置即可实现菜单集成、快捷启动和个性化定制,掌握其语法规则、参数占位符和存储逻辑,不仅能提升日常使用效率,还能为系统管理和自动化部署提供便利,无论是开发人员还是普通用户,理解 .desktop 文件的工作原理都是深入 Linux 桌面体验的重要一步。



















