What do I need to add to my .spec
file to create the desktop shortcut and assign an icon to the shortcut during install of my .rpm
? If a script is required, an example would be very helpful.
3 回答
您使用 .desktop 文件作为 linux 下的图标。放置图标的位置取决于您使用的发行版和桌面环境。由于我目前在 Fedora 9 上运行 Gnome,所以我将用这些术语来回答它。
一个示例 foo.desktop 文件将是:
[Desktop Entry]
Encoding=UTF-8
GenericName=Generic Piece Of Software
Name=FooBar
Exec=/usr/bin/foo.sh
Icon=foo.png
Terminal=false
Type=Application
Categories=Qt;Gnome;Applications;
Fedora 9 Gnome 下的 .desktop 文件应该位于 /usr/share/applications/ ,您可以在 .desktop 上运行定位来确定您应该在发行版中放置的位置。Gnome 通常会在 KDE 图标目录中查看是否还有其他图标......
Encoding、Name 和 Exec 应该不言自明。
- 通用名称 == 应用程序的简要说明。
- 图标 == 为图标显示的图像
- 终端 == 这是一个终端应用程序,我应该将它作为一个终端应用程序启动吗?
- Type == 这是程序的类型,可用于将图标放置在菜单中。
- 类别 == 如果指定的 XML 文件不存在,此信息主要用于将图标放置在给定菜单中。每个人对菜单的设置都略有不同。
您可以设置更多属性,但并非绝对必要。
使用的图像文件位于 /usr/share/icons/ 目录的某个位置。您可以解析它以找到这些事情如何工作的所有奇迹,但基础是您选择图标类型的目录(在我的情况下为 gnome)并将图像放在适当的目录中(有一个可扩展的目录用于.svg 图像,以及特定尺寸(例如 48x48 用于光栅图像。在 Gnome 下,所有图像通常都是 .png)。
akdom 给出了一个相当好的答案,但没有做到其相关性。
许多常见的桌面,包括相关的 Gnome、KDE 和 XFCE,都实现了freedesktop.org制定的规范。其中包括描述定义桌面图标的文件格式的桌面条目规范,以及描述桌面环境应该查找这些文件的位置的桌面基本目录规范。
您的 RPM 需要包含一个 .desktop 文件,如Desktop Entry Specification所指定,并将其安装在Desktop Base Directory Specification所指定的正确位置,或特定于发行版的位置(我想会有别名使用在此位置的规范文件中)。
要为应用程序创建桌面图标,请执行以下两个步骤。
在编辑器中创建一个新文件。
gedit ~/.local/share/applications/NameYouWantForApplication.desktop
将此部分放在文件中并保存。
[Desktop Entry] Type=Application Encoding=UTF-8 Name=JeremysPentaho Comment=Whatever Comment You want Exec=/home/yourname@yourdomain.com/Source/Pentaho/data-integration/spoon.sh Icon=/home/yourname@yourdomain.com/Source/Pentaho/data-integration/NameOfmyIconFile.jpg Terminal=false