如何添加包含 .desktop 文件的文件夹?

如何添加包含 .desktop 文件的文件夹?

我知道如果您想添加 .desktop 条目,就必须将其添加到 中/usr/share/applications,但是,我想要的是添加一个可以托管 .desktop 文件的额外文件夹。

如果我运行 update-desktop-database,你会看到 snapd 或 flatpak 等程序会创建自己的目录来托管它们的 .desktop

The databases in [/usr/share/ubuntu/applications, /home/cactus/.local/share/flatpak/exports/share/applications, /var/lib/flatpak/exports/share/applications, /usr/local/share/applications, /usr/share/applications, /var/lib/snapd/desktop/applications] could not be updated.

我的想法是添加一个文件夹/opt/applications,在其中可以保存我自己编译的应用程序的.desktop。

答案1

根据 GNOME 桌面系统管理指南自定义菜单:桌面条目文件

桌面条目文件必须位于$XDG_DATA_DIRS/applications 目录中,并且必须具有 .desktop 文件扩展名。如果 未设置$XDG_DATA_DIRS 1/usr/share ,则使用默认路径。这也意味着用户特定的桌面条目可能位于 $XDG_DATA_HOME/applications首先搜索的位置。如果$XDG_DATA_HOME 未设置,则~/.local/share使用默认路径。桌面条目从环境变量中的所有目录中收集$XDG_DATA_DIRS 。当有多个同名的 .desktop 文件时,首先出现的目录$XDG_DATA_DIRS 优先。

1 $XDG_DATA_DIRS是在XDG 基础目录规范

因此,如果$XDG_DATA_HOME没有其他说明,您可以将每个用户的 .desktop 文件放在 中~/.local/share/applications。如果您想要一个系统范围的自定义位置,您应该能够将其添加到$XDG_DATA_DIRSex。

XDG_DATA_DIRS=/opt:$XDG_DATA_DIRS

也可以看看XDG 基础目录规范

答案2

您可以~/.local/share/applications在用户的​​主文件夹下使用,以保存.desktop仅供该用户使用的文件。

答案3

这不是对您的实际问题的基本答案(即如何将您的自定义目录添加到主机 .desktop 启动器),但我建议您可以使用/usr/local/share/applications应该在系统范围内可用的自编译应用程序的启动器。

这个目录在 Ubuntu 中是默认配置的XDG_DATA_DIRS,它的用途正是您所寻找的,即让您手动安装的.desktop文件在任何用户的菜单系统中可用。

相关内容