NEWS

新闻

了解优麒麟最新资讯,关注社区和产品动态。

NEWS

Learn about the latest news.

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

2021-12-16 14:59:49

导读


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

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

优麒麟(Ubuntu Kylin)


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 键必须存在。

优麒麟(Ubuntu Kylin)

(10)Exec 键详情:

Exec 键必须包含命令行。

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

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

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

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

参数用空格分隔。

可识别的域代码如下:

优麒麟(Ubuntu Kylin)


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/