我正在自己的系统上手动安装一个软件包,因为我需要对其进行一些在我的软件包管理器的基本版本中不可用的更改。如果可能的话,我还尝试在本地安装软件包,因此我使用
prefix=$HOME/.local
安装它,而不是更常见的 prefix=/usr/local
。
当我这样做时,从终端执行程序没有问题,因为我将
~/.local/bin
添加到了我的 PATH 中,并且该包是使用其共享库的相对路径安装的(即 ~/.local/lib/<package>
)。从命令行执行没有问题,但我希望能够从 gnome 中的收藏夹菜单访问它,为此我需要使用 <package>.desktop
文件。
我可以在 .desktop 文件本身中硬编码可执行文件的路径,但是当我下载更高版本并重新安装它时,我将不得不重做这些步骤。我想知道是否有办法避免这种情况。
我尝试将可执行文件符号链接到 .desktop 文件确实包含在其路径中的目录,并且应用程序被正确视为 GUI 选项,但启动可执行文件会导致尝试查找共享库时出错。我认为这与 cmake 处理 rpath 的方式有关,据我了解,这是一种将可执行文件与其所需的库相对链接的方式。
我认为我想要做的是在 .desktop 文件中包含
PATH
包含 ~/.local/bin
,而不更改 .desktop 文件本身。我可以更改访问 .desktop 文件时使用的“默认”路径吗?