前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Ubuntu中Desktop Entry文件剖析

Ubuntu中Desktop Entry文件剖析

作者头像
mythsman
发布2022-11-14 14:41:56
1.1K0
发布2022-11-14 14:41:56
举报
文章被收录于专栏:mythsman的个人博客

前言

很多情况下,当我们通过别的渠道安装了程序包之后,发现dash中并没有收录这个程序,想使用的话还得通过输命令或者执行脚本,显得很麻烦。其实,Linux  KDE 或者Linux GNOME下这种东西完全可以自己配置,而且弄得比windows下还要漂亮。我们用到的工具就是Desktop Entry文件系统。

文件样例

一般情况下我们都吧*.desktop文件放在/usr/share/applications/目录下,文件夹下的每一个文件就对应这dash菜单内的一个程序,我们任意打开一个文件来看一看这里面都写了啥:

代码语言:javascript
复制
myths@myths-X450LD:/usr/share/applications$ cat libreoffice-writer.desktop[Desktop Entry]
Version=1.0
Encoding = UTF-8
Name=LibreOffice Writer
GenericName[zh_CN]=字处理器
Comment[zh_CN]=使用 Writer 创建并编辑信函、报表、文档和网页中的文本和图形。
Type=Application
Exec=libreoffice --writer %U
Icon=libreoffice-writer
Terminal=false
Categories=Office;WordProcessor;X-Red-Hat-Base;X-MandrivaLinux-Office-Wordprocessors;
MimeType=application/vnd.oasis.opendocument.text;...;application/vnd.palm;application/clarisworks;
StartupNotify=true
Keywords=Text;Letter;Fax;Document;OpenDocument Text;Microsoft Word;Microsoft Works;Lotus WordPro;OpenOffice Writer;CV;odt;doc;docx;rtf;
InitialPreference=5
StartupWMClass=libreoffice-writer
X-KDE-Protocols=file,http,smb,ftp,webdav
Actions=NewDocument;
[Desktop Action NewDocument]
Name=New Document
Exec=libreoffice --writer
OnlyShowIn=Unity;

(中间的MimeType有点长,我给用...代替了,而且Comment和GenericName本来支持多种语言的,这里就给精简了0.0)

下面我们就来正式的看一下这写的究竟是啥。

简要分析

首先一般是以[Desktop Entry]开头,表明格式。剩下的就是以键值对的形式指明各种属性值。Desktop Entry 文件标准定义了一系列标准关键字。标准关键字分为必选和可选两种:必选标准关键字必须在 .desktop 文件中被定义;而可选关键字则不必。以下是对重点关键字的解析:

  • 关键字”Version“:[可选]该数值指定了当前 Desktop Entry 文件所遵循的 Desktop Entry 文件标准版本。
  • 关键字"Encoding":[可选]1.0 版本不推荐使用 该数值指定了当前 Desktop Entry 文件中特定字符串所使用的编码方式。尽管Desktop Entry 文件标准 1.0 不再推荐使用该关键字,但由于历史原因该关键字仍然广泛出现在现有的 Desktop Entry 文件中。
  • 关键字"Name":[必选]该数值指定了相关应用程序的名称。打开dash,显示的名字就是了。
  • 关键字"GenericName":[可选]该数值指定了相关应用程序的通用名称。
  • 关键字"Comment":[可选]该数值是对当前Desktop Entry的简单描述。就是dash中右键出来的评论。
  • 关键字"Type":[必选]关键字"Type"定义了Desktop Entry文件的类型。常见的"Type"数值是"Application"和"Link"。"Type = Application"表示当前Desktop Entry文件指向了一个应用程序;而"Type = Link"表示当前Desktop Entry文件指向了一个URL (Uniform Resource Locator)。
  • 关键字"Exec":[可选]关键字"Exec"只有在"Type"类型是"Application"时才有意义。"Exec"的数值定义了启动指定应用程序所要执行的命令,在此命令是可以带参数的。通常就是在命令行执行程序或者脚本的命令,比如我的mc配置的就是 Exec=/home/myths/Download/Minecraft/minecraft.sh。
  • 关键字"URL":[可选]关键字"URL"只有在"Type"类型是"Link"时才有意义。"URL"的数值定义了该Desktop Entry文件指向的URL。
  • 关键字"Icon":[可选]该数值定义了当前Desktop Entry文件在应用程序浏览器或是在文件浏览器中所显示的图标。一般关键字"Icon"的数值是以绝对路径的格式给出(其实是不知道系统给的相对路径是啥0.0),那么其数值所指定图标文件将被使用。
  • 关键字"Terminal":[可选]该关键字的数值是布尔值,并且该关键字只有在"Type"类型是"Application"时才有意义。其数值指出了相关应用程序(即关键字"Exec"的数值)是否需要在终端窗口中运行。
  • 关键字"Categories":[可选]关键字"Categories"只有在"Type"类型是"Application"时才有意义。"Categories"的数值指出了相关应用程序在菜单中显示的类别。具体菜单分类由规范"Desktop Specification Menu"具体定义。(一般没必要写)

基本上常见的就是这些属性,毕竟自己搞的玩意也没有必要多标准,凑合用就行啦。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 文件样例
  • 简要分析
相关产品与服务
腾讯云 BI
腾讯云 BI(Business Intelligence,BI)提供从数据源接入、数据建模到数据可视化分析全流程的BI能力,帮助经营者快速获取决策数据依据。系统采用敏捷自助式设计,使用者仅需通过简单拖拽即可完成原本复杂的报表开发过程,并支持报表的分享、推送等企业协作场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档