Reputation: 714
I am installing a package manually on my own system because I need to make some changes to it that aren't available in the basic version in my package manager. I also am trying to keep packages installed locally if possible, so I'm installing it with prefix=$HOME/.local
instead of the more common prefix=/usr/local
.
When I do this, I have no problem executing the program from my terminal, because I added ~/.local/bin
to my PATH and the package was installed with relative paths to its shared libraries (i.e. ~/.local/lib/<package>
). Executing from the command line is no problem, but I want to be able to access it from the favorites menu in gnome, and for that I need to make use of the <package>.desktop
file.
I could hard-code the path to the executable in the .desktop file itself, but when I pull a later version down and re-install it, I'll have to redo those steps. I was wondering if there's a way to avoid that.
I've tried symlinking the executable to a directory where .desktop files do have included in their path, and the application is correctly treated as a GUI option, but launching the executable results in an error trying to find a shared library. I think this has to do with how cmake handles rpaths, which to my understanding is a way of relatively linking executables with their required libraries.
I think what I want to do is have PATH
inside a .desktop file include ~/.local/bin
, without changing the .desktop file itself. Can I alter the 'default' path used in accessing a .desktop file?
Upvotes: 0
Views: 334
Reputation: 714
The answer to my question was found in the Archwiki:
Specifically, I needed to add ~/.local/bin
to my path in ~/.xinitrc
. Now my graphical programs work as expected.
Upvotes: 1