📜  用于 sh 文件的 linux .desktop 文件 (1)

📅  最后修改于: 2023-12-03 15:27:09.941000             🧑  作者: Mango

用于 sh 文件的 Linux .desktop 文件

介绍

Linux 下的桌面环境通常都支持 .desktop 文件,这些文件描述了一个程序的元数据,例如程序的名称、图标、命令等。 .desktop 文件是一个非常有用的特性,因为它可以使应用程序能够在桌面环境中更健壮地使用。在这篇文章中,我们将介绍如何使用 .desktop 文件来启动和运行 shell 脚本文件。

编写 .desktop 文件
文件结构

我们先来看一个 .desktop 文件的基本结构:

[Desktop Entry]
Name=应用程序名称
Comment=描述
Exec=命令或脚本
Icon=图标文件路径
Terminal=true/false # 表示是否在终端运行
Type=Application
Categories=分类

其中,[Desktop Entry] 表示这是一个 .desktop 文件。每个条目下面跟的具体参数表示如下:

  • Name:表示应用程序的名称。
  • Comment:表示应用程序的描述。
  • Exec:表示要执行的命令或脚本。
  • Icon:表示应用程序的图标。
  • Terminal:表示是否在终端窗口中运行。
  • Type:表示条目的类型。必须是 Application
  • Categories:表示应用程序的分类。它是一个逗号分隔的字符串,表示多个分类。例如,实用工具、开发工具、图形界面等。
示例 .desktop 文件

下面是一个示例 .desktop 文件,它将 sayhello.sh 文件转换为桌面应用程序:

[Desktop Entry]
Name=Say Hello
Comment=Run sayhello.sh
Exec=~/.local/share/sayhello.sh
Icon=utilities-terminal
Terminal=true
Type=Application
Categories=Utility;

其中,Name 表示应用程序的名称,Exec 表示要执行的脚本,Icon 表示应用程序的图标,Terminal 表示是否在终端中运行,Type 表示此条目是应用程序类型,Categories 表示应用程序的分类。

配置文件路径

通常来说,.desktop 文件可以放在一下两个目录中:

  • /usr/share/applications:针对所有用户。
  • ~/.local/share/applications:只针对当前用户。

在这两个目录中,可以找到许多 .desktop 文件,它们是非常常见的桌面应用程序的配置文件。所以,我们可以将我们的 .desktop 文件存放在其中之一。

应用程序分类

Linux 应用程序的分类主要有以下几种:

  • Development:开发工具。
  • Education:教育软件。
  • Game:游戏。
  • Graphics:图形相关软件。
  • Network:网络相关软件。
  • Office:办公软件。
  • Science:科学软件。
  • System:系统工具。
  • Utility:实用工具。

在编写 .desktop 文件时,我们必须给应用程序选择一个或多个分类。例如,如果你正在编写一个文本编辑器,那么你可能希望将其分类为“Office”和“Utility”。

运行 .desktop 文件

当你启动一个 .desktop 文件时,面板或菜单会调用指定的程序。很多使用者会疑惑,运行指定的脚本时,为何 .desktop 中设置的终端设置不生效?如何生效?

这是因为有些程序是图形程序,有一定的可视化交互需求,而脚本则不一定需要,因此如果这个程序没有界面需求,我们就要将 Terminal 设置为false

小结

通过本篇文章的介绍,我们了解了如何编写一个 .desktop 文件,来运行一个 shell 脚本文件。我们还了解了如何配置这个文件,并将其分类。如果你需要将一个 shell 脚本变成一个应用程序,这些知识将非常有用。