(address . bug-guix@gnu.org)
Hello! I use Guix as a supplementary package manager on OpenSUSE 15.4. I have
recently installed the package ‘librsvg’ in Guix, in order to fix a different
issue, where a different program (installed with Guix) wouldn’t show icons
without it [1]. But I noticed that doing so affects GIMP, a graphical program
installed natively in openSUSE, which can no longer show its own icons now.
The problem is solved by removing ‘librsvg’ from my Guix profile, logging out,
and logging back in. (But then, of course, the other program which needs
‘librsvg’ in my profile breaks again.)
Another solution is not to source my Guix profile in my login shell (thus
removing the appropriate line from my ‘~/.profile’ file), and to remove the
file ‘/etc/profile.d/guix.sh’, both of which seem to only define some
environment variables. (Of course, this breaks Guix’s whole integration with
the host system, so it’s not a good solution at all.) Removing only the
profile does not help.
I have observed the changes installing ‘librsvg’ made to the aforementioned
files, and to my environment:
‘guix.sh’ has not changed at all.
‘profile’ now defines the two following variables:
• XDG_DATA_DIRS
• GDK_PIXBUF_MODULE_FILE
These environment variables have been extended:
• XDG_DATA_DIRS was defined [2], now is prefixed with
‘/home/tirifto/.guix-profile/share’
• GDK_PIXBUF_MODULE_FILE was undefined, now is set to
‘/home/tirifto/.guix-profile/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache’
When I run GIMP from the command line, it prints the errors attached in ‘gimp-
errors.txt’.
When I try to unset the changed variables for GIMP, using the following
command, the icons are still absent, but it prints less errors, which are
attached in ‘gimp-errors-no-env.txt’:
XDG_DATA_DIRS='/usr/local/share:/usr/share' GDK_PIXBUF_MODULE_FILE='' gimp
When I try to unset the changed variables with ‘unset’ before I actually run
GIMP, it works as expected, with no errors printed, like so:
unset XDG_DATA_DIRS
unset GDK_PIXBUF_MODULE_FILE
gimp
I’m not sure what’s the difference between those procedures, since I don’t
understand Bash that well, but maybe it can help someone who does understand
the problem better.
Best of wishes
// Tirifto
[2] XDG_DATA_DIRS already had ‘/home/tirifto/.guix-profile/share’ in it before
it was added to the profile, presumably coming from the aforementioned
‘guix.sh’. This means I now have ‘/home/tirifto/.guix-profile/share’ twice
in my path. I assume that’s not a problem, but found it curious.
WARNING: icon 'gimp-default-colors' failed to load. Check the files in your icon theme.
WARNING: icon 'gimp-swap-colors' failed to load. Check the files in your icon theme.
WARNING: icon 'gimp-image' failed to load. Check the files in your icon theme.
WARNING: icon 'gimp-image' failed to load. Check the files in your icon theme.