干货分享|教你如何编写桌面快捷方式文件

Ubuntu各种衍生版本
回复
fenshezhuiyi
帖子: 90
注册时间: 2019-03-05 14:32
系统: ubuntukylin
送出感谢: 0
接收感谢: 6 次

干货分享|教你如何编写桌面快捷方式文件

#1

帖子 fenshezhuiyi » 2021-11-29 15:46

导读:

快捷方式是 Windows 提供的一种快速开启程序、打开文件或文件夹的方法,拓展名为*.lnk。

Linux 提供类似功能,叫做桌面入口(Desktop Entry),拓展名为*.desktop。本文将结合优麒麟操作系统,对桌面条目(快捷方式)协议进行详细介绍。
图片



01 文件名


1. 一般桌面入口(快捷方式)文件(类型为 Application 和 Link 的文件)使用.desktop 扩展名。Type 键为 Directory 的文件使用 .directory 扩展名。

2. 文件名以 ASCII 字母开头,后续字符可以使用 ASCII 字母[a-zA-Z]、数字[0-9]、下划线(_)、短划线(-)、点(.)。

3. 建议使用反域名格式。例如:cn.kylinos.desktop。

4. 建议用程序作者控制的域名字段加应用程序名称对文件进行命名。域名字段为小写。应用程序名为大驼峰。例如:域名字段为 example.org,应用程序名为 fooViewer。文件名为 org.example.FooViewer.desktop。

5. 不建议使用破折号。



02 文件存储位置


在优麒麟操作系统下,桌面条目(快捷方式)文件一般存储在“/usr/share/applications”目录下。



03 文件格式


(1)文件编码格式为:UTF-8。

(2)文件内容每一行以换行符分隔。

(3)使用“#”可进行单行注释。

(4)大小写敏感。

(5)组头:

● 当组名为 groupname,组头为[groupname]。

● 组后面的键值对都是属于该组的。

(6)项:

● 文件中项是“键值对”格式。

● 键=值应忽略等号前后的空格。“=”符号是实际的分隔符。

● 键名中只能使用 ASCII 字符或数字或短划线。

● 同一组中的键不能同名。

(7)项中值的类型:

● 项中的值类型有 string、localestring、iconstring、boolean、numeric。

● string:除控制字符以外的所有 ASCII 字符。

● localestring:本地化字符串。

● iconstring:图标字符串。

● boolean:布尔值,只能是 true 或 false。

● numeric:浮点值。

(8)键本地化:

● 值类型为 localestring 和 iconstring 对应的键可本地化,即键可以后缀[LOCALE]。

● LOCALE 必须为 lang_COUNTRY@MODIFIER、lang_COUNTRY、lang@MODIFIER、lang 中的一种。

● 如果出现后缀键,则没有后缀的相同键也必须存在。

● 本地化键格式为 Key[Locale]。

● Locale 的优先级从高到低分为 lang_COUNTRY@MODIFIER、lang_COUNTRY、

lang@MODIFIER、lang、默认值。

● 例子:依据优先级有后缀的键只有 sr_YU 被优先使用

Name=Foo

Name[sr_YU]=...

Name[sr@Latn]=...

Name[sr]=...

(9)关键字键

● 有些键是可选的,有些键是必须的。

● 某些键需要另一些键被设为特定值时才有意义。例如 Terimnal 键在 Type 键为 Application 时才能使用。

● 某些键存在,则另一些键必须存在。例如 Type 键为 Link 时,URL 键必须存在。

图片

(10)Exec 键详情:

● Exec 键必须包含命令行。

● 命令行由可选的可执行程序组成,包含一个或多个参数。

● 可执行程序可以指定其完整路径或仅包含可执行文件的名称。

● 如果没有提供完整路径,可在 $PATH 环境变量中查找可执行文件桌面环境。

● 可执行程序的名称或路径不能包含相等的符号(“=”)。

● 参数用空格分隔。

● 可识别的域代码如下:

图片



04 示例:桌面条目(快捷方式)文件


该桌面条目示例文件实现了通过浏览器自动打开指定网页的功能。

[Desktop Entry]

#指定使用的协议版本

Version=1.0

#设置需要调用的信息类型

Type=Application

#默认情况下,desktop 在桌面或菜单栏出现的名字

Name=app.web.baidu.naotu

#在中文_中国环境下,desktop 在桌面或菜单栏出现的名字

Name[zh_CN]=百度脑图网页版

#desktop 图标的位置

Icon=/usr/share/icons/kylin-auto-web/app.web.baidu.naotu.png

#在中文_中国环境下,对这个 desktop 的介绍。

Comment[zh_CN]=便捷的脑图编辑工具 - 控制创意,如此简单。让您在线上直接创建、保存并分享你的思路。免安装、云存储易分享、体验舒适、功能丰富

#检查是否有 xdg-open 程序

TryExec=xdg-open

#调用 xdg-open 程序并输入网址参数

Exec=xdg-open https://naotu.baidu.com/

#设置不打开终端

Terminal=false

#设置这个 desktop 所属分类,在开始菜单中,可以依据此分类找到图标

Categories=Development;Network;

以上就是关于桌面快捷方式规范协议的全部内容,关于如何更好地编写桌面条目(快捷方式)文件,大家可以参考制定该协议的官网:https://specifications.freedesktop.org/
头像
tang.zhe
帖子: 1503
注册时间: 2010-07-15 13:31
送出感谢: 81 次
接收感谢: 24 次

Re: 干货分享|教你如何编写桌面快捷方式文件

#2

帖子 tang.zhe » 2021-11-30 9:22

mark
回复