“#!/usr/bin/env xdg-open”是否应该包含在 .desktop 文件中?

“#!/usr/bin/env xdg-open”是否应该包含在 .desktop 文件中?

有些人将以下行添加到.desktop文件中:

#!/usr/bin/env xdg-open

但是当我检查我的 debian sid 下的文件时/usr/share/applications/,没有包含此行的文件。

那么问题很简单:到底该加还是不该加?

答案1

通过一行#!.desktop可以制作文件可执行文件并直接运行(例如从命令行或某些文件浏览器)。

包装背后的想法env是处理xdg-open可能位于不同目录中的不同操作系统。例如,在 Debian 上,该程序位于其中,/usr/bin/xdg-open但在另一个操作系统上,它可能位于其他位置。的位置env几乎是固定的,并且此构造将有效地导致$PATH搜索该xdg-open程序。

在我的 Debian 安装中,没有文件/usr/share/applications被标记为可执行文件,而且它们都没有一行#!

因此,如果您希望.desktop文件可执行,那么您需要 a#!并将其包装起来env将有助于可移植性。如果您不需要它可执行,那么您就不需要它。

相关内容