前言
很多情况下,当我们通过别的渠道安装了程序包之后,发现dash中并没有收录这个程序,想使用的话还得通过输命令或者执行脚本,显得很麻烦。其实,Linux KDE 或者Linux GNOME下这种东西完全可以自己配置,而且弄得比windows下还要漂亮。我们用到的工具就是Desktop Entry文件系统。
文件样例
一般情况下我们都吧*.desktop文件放在/usr/share/applications/目录下,文件夹下的每一个文件就对应这dash菜单内的一个程序,我们任意打开一个文件来看一看这里面都写了啥:
1 | myths@myths-X450LD:/usr/share/applications$ cat libreoffice-writer.desktop[Desktop Entry] |
(中间的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”具体定义。(一般没必要写)
基本上常见的就是这些属性,毕竟自己搞的玩意也没有必要多标准,凑合用就行啦。