Troubleshooting GUI Linux apps on openSUSE on WSLg
So you've install openSUSE Tumbleweed or Leap on WSL and are ready to try GUI apps on WSLg but run into some issues. Here are some fixes.
Issues Covered:
- undefined symbol: g_memdup2
- Could not load a pixbuf
- GUI apps look bad
- No GCR slot URIs found
undefined symbol: g_memdup2
symbol lookup error: /usr/lib64/libgobject-2.0.so.0: undefined symbol: g_memdup2
You have outdated libraries.
Fix:
sudo zypper dup
Could not load a pixbuf
Could not load a pixbuf from /org/gtk/libgtk/icons/16x16/status/image-missing.png.
This may indicate that pixbuf loaders or the mime database could not be found.
**
Gtk:ERROR:gtkiconhelper.c:494:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /org/gtk/libgtk/icons/16x16/status/image-missing.png: Unrecognized image file format (gdk-pixbuf-error-quark, 3)
Bail out! Gtk:ERROR:gtkiconhelper.c:494:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /org/gtk/libgtk/icons/16x16/status/image-missing.png: Unrecognized image file format (gdk-pixbuf-error-quark, 3)
Aborted
You need to refresh GdkPixbuf.
Fix:
sudo /usr/bin/gdk-pixbuf-query-loaders-64 --update-cache
GUI apps look bad
You install your favorite text editor, say GNOME editor with:
sudo zypper in gedit
But it comes out looking like:
You are missing some key desktop environment components that make apps look nice. Same goes for KDE apps, like Kate:
And XFCE apps, like xfce4-terminal:
The fix:
If you plan to run GTK3+ and GNOME apps on WSLg on openSUSE, run:
sudo zypper in --no-recommends -t pattern gnome
For KDE apps:
sudo zypper in --no-recommends -t pattern kde
For GTK2 and XFCE apps:
sudo zypper in --no-recommends -t pattern xfce
You can even combine them, it is only about 312MB:
sudo zypper in --no-recommends -t pattern gnome kde xfce
No GCR slot URIs found, GCR certificate pinning unavailable
You get something like:
*[wrn] 14:56:18.0966 geary:application-certificate-manager.vala:74: No GCR slot URIs found, GCR certificate pinning unavailable *[wrn] 14:56:19.0016 geary:application-client.vala:947: Error creating controller: The name org.freedesktop.secrets was not provided by any .service files
And then your app doesn't open.
The fix:
Install gnome-keyring
sudo zypper install gnome-keyring