我正在我自己的系统上手动安装软件包,因为我需要对它进行一些更改,而这些更改在我的软件包管理器的基本版本中是不可用的。我也尝试在可能的情况下在本地安装软件包,因此我使用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文件时使用的“默认”路径吗?