Linux桌面入口文件.desktop文件内容格式

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(官方)

相关推荐
yugi9878389 小时前
Linux下58mm热敏打印机驱动安装与配置指南
linux·运维·服务器
运维老郭10 小时前
K8s故障排查:一条分层排查路径解决99%线上问题
运维·云原生·kubernetes
AC赳赳老秦10 小时前
项目闭环管理:用 OpenClaw 对接 Jira / 禅道,实现需求 - 任务 - 进度 - 验收全流程自动化
运维·人工智能·python·自动化·devops·jira·openclaw
遇见火星10 小时前
centos7和centos8设置本地镜像为yum安装源的方法
linux·运维·服务器
piaopiaolanghua10 小时前
[Ai问答] Docker是否支持跨架构镜像,譬如ARM/X86
linux·运维·服务器
Elastic 中国社区官方博客10 小时前
通过 Elastic MCP Server 将 Cursor 连接到生产日志
大数据·运维·人工智能·elasticsearch·搜索引擎·全文检索·mcp
努力努力再努力FFF10 小时前
运维工程师想学习AI来提升系统自动化水平,该怎么切入?
运维·人工智能·学习
木木_王10 小时前
嵌入式Linux学习 | 数据结构(Day06)全解:线性表 + 栈队列 + 静态库 / 动态库(原理 + 代码 + 编译实战 + 易错点)
linux·数据结构·笔记·学习
howareyou2310 小时前
Linux中用户态的函数是如何通过系统调用进入内核态的(二)
linux·服务器·linux系统调用
杨云龙UP10 小时前
Oracle 19c多租户架构下设置用户密码永不过期及登录锁定策略说明_20260430
linux·运维·服务器·数据库·oracle