如何在 Linux 系统中添加桌面图标

  在做嵌入式 Linux 产品的时候,我们通常会让机器自启动应用程序来处理相关业务,或者提供一个桌面系统让用户更加方便操作。那么这时候,我们就需要将编译好的应用程序添加到桌面,以便使用,就像 Windows 系统的桌面快捷方式一样。
  一般在 Linux 系统中,可以通过以下方法添加桌面图标。
  在 /usr/shared/applications/ 目录下,添加 xxx.desktop 文件(xxx为应用程序名),填写相关信息,保存即可。以 eclipse.desktop 为例说明:

[Desktop Entry]
Version=1.0
Name=eclipse
Exec=/home/root/soft/eclipse/eclipse
Icon=/home/root/soft/eclipse/icon.xpm
Terminal=false
Type=Application
Categories=Development

  一般只要关注下面3个属性即可:

  • Exec=软件执行文件的路径
  • Icon=快捷方式图标(如果有的话)
  • Name=快捷方式名称

      更详细的属性介绍如下:

// 文件头
[Desktop Entry]

// 编码方式
Encoding=UTF-8  

// 应用程序名称,根据当前系统语言匹配显示,优先匹配更细化的语言标识名称
Name=aMule  
Name[en]=en_name
Name[en_US]=US_name 

// 鼠标经过上面时的提示名称,也可国际化
Comment=comment  

// 菜单执行的命令或程序
Exec=command  

// 显示在菜单项中的图标,可以为空
Icon=iconpath  

// 是否使用终端
Terminal=false  

// 分类
Type=Application 

// 是否选择单一实例
X-MB-SingleInstance=true

// 菜单是否隐藏,类似 NoDisplay 属性
Hidden=false

// 菜单所属类别,可以确定该菜单的位置
Categories=Application;Network; 

Desktop Entry 文件结构

Desktop Entry 文件通常以字符串”[Desktop Entry]”开始。由清单 1 可以得知,Desktop Entry 文件的内容是由若干{关键字,数值}配对的 Entry 组成的。例如,”Version”就是一个关键字,关键字”Version”对应的数值是”1.0”。Desktop Entry 文件标准定义了一系列标准关键字。标准关键字分为必选和可选两种:必选标准关键字必须在 .desktop 文件中被定义;而可选关键字则不必。以下是对重点关键字的解析。

关键字”Version”:[可选] 该数值指定了当前 Desktop Entry 文件所遵循的 Desktop Entry 文件标准版本。

关键字”Encoding”:[1.0 版本不推荐使用] 该数值指定了当前 Desktop Entry 文件中特定字符串所使用的编码方式。尽管Desktop Entry 文件标准 1.0 不再推荐使用该关键字,但由于历史原因该关键字仍然广泛出现在现有的 Desktop Entry 文件中。

关键字”Name”[必选]
该数值指定了相关应用程序的名称。比如在清单1中关键字”Name”的数值是”Quick Start Tour”。打开文件浏览器,进入”/usr/share/applications”目录,就可以看见”cbt.desktop”文件所定义的快捷方式 的显示样式,如图2所示。其中,快捷方式的显示名称由关键字”Name”的数值所决定,快捷方式所使用的图标由下文中将要介绍的关键字”Icon”的数值 来决定。当然,这些定义在应用程序浏览器中同样适用,请参考图3。

关键字”GenericName”:[可选]
该数值指定了相关应用程序的通用名称。比如在清单1中关键字”GenericName”的数值是”User Tutorial”。打开应用程序浏览器,就可以看见字符串”User Tutorial”被显示在图标的右侧,如图3所示:

关键字”Comment”:[可选]
该数值是对当前Desktop Entry的简单描述。

关键字”Type”:[必选]
关键字”Type”定义了Desktop Entry文件的类型。常见的”Type”数值是”Application”和”Link”。”Type = Application”表示当前Desktop Entry文件指向了一个应用程序;而”Type = Link”表示当前Desktop Entry文件指向了一个URL (Uniform Resource Locator)。

关键字”Exec”:[可选]
关键字”Exec”只有在”Type”类型是”Application”时才有意义。”Exec”的数值定义了启动指定应用程序所要执行的命令,在此命令 是可以带参数的。在本例中,关键字”Exec”的数值是字符串”gnome-open /usr/share/doc/manual/sled-gnome-cbt_en/index.html”。在shell中输入该字符串并按回车键同样 可以启动指定应用程序。

关键字”URL”:[可选]
关键字”URL”只有在”Type”类型是”Link”时才有意义。”URL”的数值定义了该Desktop Entry文件指向的URL。例如:

Type = Link
URL = http://www.ibm.com/developerworks

双击含有上述内容的Desktop Entry文件将启动web浏览器,并打开指定网页”http://www.ibm.com/developerworks

关键字”Icon”:[可选]
该数值定义了当前Desktop Entry文件在应用程序浏览器或是在文件浏览器中所显示的图标。如果关键字”Icon”的数值是以绝对路径的格式给出,那么其数值所指定图标文件将被使 用;反之,Linux系统将使用”Icon Theme Specification”[2]在系统指定图标目录下定位所需要使用的图标文件。比如在本例中关键字”Icon”的数值是”cbt”,它实际对应着系 统指定图标目录下的图片文件”cbt.png”cbt.png 。该图片作为图标的显示效果如图2,图3所示。

关键字”StartupNotify”:[可选]
关键字”StartupNotify”的数值是布尔值(true 或是 false)。该关键字只有在”Type”类型是”Application”时才有意义。其数值的含义由规范”Startup Notification Protocol Specifications”[3]定义,在此不再详述。

关键字”Terminal”:[可选]
和”StartupNotify”一样,关键字”StartupNotify”的数值也是布尔值,并且该关键字只有在”Type”类型 是”Application”时才有意义。其数值指出了相关应用程序(即关键字”Exec”的数值)是否需要在终端窗口中运行。本文将在下一节中给出关键 字”Terminal”的具体使用方法。

关键字”Categories”:[可选]
关键字”Categories”只有在”Type”类型是”Application”时才有意义。”Categories”的数值指出了相关应用程序在菜单中显示的类别。具体菜单分类由规范”Desktop Specification Menu”具体定义[4]。

关键字”OnlyShowIn”和”NotShowIn”:[可选]
这两个关键字分别定义了当前Desktop Entry是否在特定Linux 桌面系统(例如:Linux GNOME 或 Linux KDE)下显示(由”OnlyShowIn”定义),或不显示(由”NotShowIn”定义)。具体定义请参考”Desktop Specification Menu”[4]。

关键字”X-SuSE-translate”:[SUSE Linux特有]
关键字”X-SuSE-translate”是SUSE Linux(http://www.novell.com/linux/) 特有的。”X-SuSE-translate”符合SUSE RPM Package风格。”X-SuSE-translate”数值表示是否要对关键字”Name”和”GenericName”进行翻译。详情请参 考”SUSE Package Conventions”[5]。

本地化关键字”[LOCALE]”
根据”Desktop Entry Specification”规范[1],在关键字后加上字符串”[LOCALE]”就可以对该关键字进行特定的本地化定义。”LOCALE”的合法取值为:

LOCALE= lang_COUNTRY.ENCODING@MODIFIER

在此,域”_COUNTRY”,”.ENCODING”和”@MODIFIER”是可以被忽略的。当指定Desktop Entry文件被解析时,解析器应当根据当前POSIX locale来正确获取本地化的关键字数值。例如清单1就分别定义了在”cs”和”hu”语言环境下关键字”Name”,”Comment” 和”GenericName”的不同数值。

其余关键字
除了上述在清单1中出现的关键字外,”Desktop Entry Specification”还定义了”Hidden”,”TryExec”,”MimeType”等可选关键字。用户可以根据需要进行选取。


参考:http://www.cnblogs.com/cassvin/articles/2127388.html

  • 0
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿基米东

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值