非标准目录中的 .desktop 文件

非标准目录中的 .desktop 文件

我通过使用环境模块管理器(即左模)。因此,我有一堆来自标准树的自编译应用程序:例如,假设我在/software.在这些应用程序中,有一些提供.desktop条目。例如,让我们假设我重新编译了 evince: 的更新版本/software/evince/2.32,这样我就分别拥有了/software/evince/2.32/bin /software/evince/2.32/lib /software/evince/2.32/share/applications/evince.desktop.

您所做modulefiles的就是在PATH, LD_LIBRARY_PATHecc... 前面加上自编译应用程序的路径,当您这样做module load evince时,$PATH您将获得更新的版本。

我希望能够对条目执行相同的desktop操作,以便能够为用户提供额外的(或更新的)桌面应用程序。是否有一个环境变量可以更新以使 WM 能够desktop从其他目录获取文件?

答案1

有两种方法可以做到这一点:

第一个选项是更新$XDG_DATA_DIRS变量。但是,您的.desktop文件必须位于$XDG_DATA_DIRS/applications/目录中。因此,您需要/software/applications为文件创建目录.desktop并将其附加/software$XDG_DATA_DIRS.之后,运行update-desktop-database命令来更新缓存。这是由desktop-utils包提供的。

另一个选项是在文件xdg-desktop-menu install上运行.desktop。该程序是任何非标准环境的一部分xdg-utils,并将自动处理任何非标准环境,并且也可以由普通用户运行。它还使卸载更容易,因为您只需运行xdg-desktop-menu uninstall.man xdg-desktop-menu详情请参阅。

我个人的建议是使用各种xdg-utils程序进行任何桌面相关的更新。处理它们比搞乱环境变量要容易得多。

相关内容