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