9.3.10. 从 GUI 启动一个程序

对于 命令行界面(command-line interface,CLI)$PATH 环境变量所指定的目录中第一个匹配相应名称的程序会被执行。参见 第 1.5.3 节 “”$PATH“ 变量”

对于遵从 freedesktop.org 标准的 图形用户界面(graphical user interface,GUI)/usr/share/applications/ 目录中的 *.desktop 文件给每个程序的 GUI 菜单显示提供了必要的属性。参见 第 7.2.2 节 “Freedesktop.org 菜单”

举个例子,chromium.desktop 文件中为 “Chromium 网络浏览器” 定义了相关属性,例如程序名 “Name”,程序执行路径和参数 “Exec”,所使用的图标 “Icon” 等等(参见 桌面配置项规范)。文件内容如下:

  1. [Desktop Entry]
  2. Version=1.0
  3. Name=Chromium Web Browser
  4. GenericName=Web Browser
  5. Comment=Access the Internet
  6. Comment[fr]=Explorer le Web
  7. Exec=/usr/bin/chromium %U
  8. Terminal=false
  9. X-MultipleArgs=false
  10. Type=Application
  11. Icon=chromium
  12. Categories=Network;WebBrowser;
  13. MimeType=text/html;text/xml;application/xhtml_xml;x-scheme-handler/http;x-scheme-handler/https;
  14. StartupWMClass=Chromium
  15. StartupNotify=true

这是一个较为简单的说明。*.desktop 文件像下面那样被搜寻。

桌面环境设置 $XDG_DATA_HOME$XDG_DATA_DIR 环境变量。举个例子,在 GNOME 3 中:

  • 未设置 $XDG_DATA_HOME。(将使用默认值 $HOME/.local/share。)

  • $XDG_DATA_DIRS 被设置为 /usr/share/gnome:/usr/local/share/:/usr/share/

基准目录(参见 XDG Base Directory Specification)和应用程序目录如下所示。

  • $HOME/.local/share/$HOME/.local/share/applications/

  • /usr/share/gnome//usr/share/gnome/applications/

  • /usr/local/share//usr/local/share/applications/

  • /usr/share//usr/share/applications/

*.desktop 文件将按照这个顺序在这些 applications 目录中进行搜寻。

[提示]提示

要建立一个用户自定义的 GUI 菜单项,需要在 $HOME/.local/share/applications/ 目录中添加一个 *.desktop 文件。

[提示]提示

相似地,如果在这些基准目录下的 autostart 目录中建立了一个 .desktop 文件,则 .desktop 文件中指定的程序会在桌面环境启动时自动执行。参见 Desktop Application Autostart Specification

[提示]提示

相似地,如果在 $HOME/Desktop 目录中建立了一个 *.desktop 文件并且桌面环境被配置为支持桌面图标启动器功能,则点击图标时指定的程序会被执行。请注意,$HOME/Desktop 目录的实际名称与语言环境有关。参见 xdg-user-dirs-update(1)。