"#!/usr/bin/env xdg-open" 应该包含在 .desktop 文件中吗?

Mik*_*kov 6 .desktop

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

#!/usr/bin/env xdg-open
Run Code Online (Sandbox Code Playgroud)

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

所以问题很简单:应该添加还是不添加?

Ste*_*ris 7

有了#!一行,.desktop文件就可以执行并直接运行(例如,从命令行或某些文件浏览器)。

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

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

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