如何添加 Ubuntu 20.04 查找桌面启动器的新位置?

如何添加 Ubuntu 20.04 查找桌面启动器的新位置?

就像在 /etc/environment 文件中添加 $PATH 一样,我想添加应用程序菜单将在其中搜索的新路径。目前,我知道全局桌面启动器位于 /usr/share/applications。是否可以添加像 /go/apps/launchers 这样的全局路径?

答案1

桌面菜单规范

$XDG_DATA_DIRS/applications/
此目录包含每个可能的菜单项的 .desktop 文件。应使用 $XDG_DATA_DIRS 搜索路径中的每个目录(即从所有目录中收集桌面条目,而不仅仅是第一个存在的目录)。当两个桌面条目具有相同的名称时,将使用路径中较早出现的那个。

菜单文件中的 <DefaultAppDirs> 元素表示此时应扫描此默认桌面条目位置列表。如果菜单文件不包含 <DefaultAppDirs>,则不会扫描这些位置。

因此找到一个菜单文件并按照描述进行编辑:

<DefaultAppDirs>
此元素只能出现在 <Menu> 下方。该元素没有内容。应将该元素视为包含默认应用程序目录位置(datadir/applications/ 等)的 <AppDir> 元素列表。将 <DefaultAppDirs> 扩展为 <AppDir> 列表时,搜索路径中较早的默认位置将位于 <Menu> 的较后位置,以便它们具有优先权。

文件位置
您应该能够在以下位置找到或创建菜单文件$XDG_CONFIG_DIRS/menus/如果设置了 $XDG_CONFIG_DIRS,

对我来说,这导致/etc/xdg/menus/gnome-applications.menu/


如果你确实必须为你的用例添加全局路径,则必须添加 $XDG_DATA_DIRS 的路径。你可能会看到类似/etc/profile.d/xdg_dirs_desktop_session.sh,但这/etc/environment可能是最好的位置设置系统范围的路径

类似于:
XDG_DATA_DIRS="/go/apps/launcher:$XDG_DATA_DIRS"

相关内容