📅  最后修改于: 2023-12-03 15:27:09.941000             🧑  作者: Mango
Linux 下的桌面环境通常都支持 .desktop 文件,这些文件描述了一个程序的元数据,例如程序的名称、图标、命令等。 .desktop 文件是一个非常有用的特性,因为它可以使应用程序能够在桌面环境中更健壮地使用。在这篇文章中,我们将介绍如何使用 .desktop 文件来启动和运行 shell 脚本文件。
我们先来看一个 .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 文件,它将 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 应用程序的分类主要有以下几种:
在编写 .desktop 文件时,我们必须给应用程序选择一个或多个分类。例如,如果你正在编写一个文本编辑器,那么你可能希望将其分类为“Office”和“Utility”。
当你启动一个 .desktop 文件时,面板或菜单会调用指定的程序。很多使用者会疑惑,运行指定的脚本时,为何 .desktop 中设置的终端设置不生效?如何生效?
这是因为有些程序是图形程序,有一定的可视化交互需求,而脚本则不一定需要,因此如果这个程序没有界面需求,我们就要将 Terminal 设置为false
。
通过本篇文章的介绍,我们了解了如何编写一个 .desktop 文件,来运行一个 shell 脚本文件。我们还了解了如何配置这个文件,并将其分类。如果你需要将一个 shell 脚本变成一个应用程序,这些知识将非常有用。