Why “Could not open X display” on Wayland?
Starting exapmles/application2/exampleapp2 from gtk 3.24.14 (or anything else GTK-based) prints:
(exampleapp2:9396): dbind-WARNING **: 09:12:57.632: Could not open X display
xkbcommon: ERROR: Key "<LFSH>" added to modifier map for multiple modifiers; Using Lock, ignoring Shift
I have compiled GTK with both Wayland and X11 support, but only use Wayland. I think X11 was necessary, to compile libcanberra, as it uses gdk_x11_get_xatom_by_name_for_display(). In the environment I have GDK_BACKEND=wayland
, DISPLAY=:0
, WAYLAND_DISPLAY=wayland-0
. I guess I injected DISPLAY manually sometimes ago, to make XWayland/gimp working.
Why does GTK try to open X display, when it runs under Wayland?
exampleapp2 is linked with (ldd):
linux-vdso.so.1 (0x00007ffdce6ef000)
libgtk-3.so.0 => /git/gnome/gtk/build_A/examples/application2/./../../gtk/libgtk-3.so.0 (0x00007f632b187000)
libglib-2.0.so.0 => /usr/local/lib64/libglib-2.0.so.0 (0x00007f632b02b000)
libgobject-2.0.so.0 => /usr/local/lib64/libgobject-2.0.so.0 (0x00007f632afd0000)
libgio-2.0.so.0 => /usr/local/lib64/libgio-2.0.so.0 (0x00007f632ae04000)
libc.so.6 => /lib64/libc.so.6 (0x00007f632ac4a000)
libgdk-3.so.0 => /git/gnome/gtk/build_A/examples/application2/./../../gtk/../gdk/libgdk-3.so.0 (0x00007f632ab4e000)
libgmodule-2.0.so.0 => /usr/local/lib64/libgmodule-2.0.so.0 (0x00007f632ab46000)
libpangocairo-1.0.so.0 => /usr/local/lib64/libpangocairo-1.0.so.0 (0x00007f632ab35000)
libpango-1.0.so.0 => /usr/local/lib64/libpango-1.0.so.0 (0x00007f632aae8000)
libharfbuzz.so.0 => /usr/local/lib/libharfbuzz.so.0 (0x00007f632aa0d000)
libcairo.so.2 => /usr/local/lib/libcairo.so.2 (0x00007f632a6ea000)
libpangoft2-1.0.so.0 => /usr/local/lib64/libpangoft2-1.0.so.0 (0x00007f632a6d3000)
libfontconfig.so.1 => /usr/local/lib/libfontconfig.so.1 (0x00007f632a48e000)
libfreetype.so.6 => /usr/local/lib/libfreetype.so.6 (0x00007f632a3e2000)
libfribidi.so.0 => /usr/local/lib/libfribidi.so.0 (0x00007f632a1c6000)
libcairo-gobject.so.2 => /usr/local/lib/libcairo-gobject.so.2 (0x00007f6329fbd000)
libgdk_pixbuf-2.0.so.0 => /usr/local/lib64/libgdk_pixbuf-2.0.so.0 (0x00007f6329d99000)
libatk-1.0.so.0 => /usr/local/lib64/libatk-1.0.so.0 (0x00007f6329d71000)
libepoxy.so.0 => /usr/local/lib64/libepoxy.so.0 (0x00007f6329c3d000)
libm.so.6 => /lib64/libm.so.6 (0x00007f6329afd000)
libXi.so.6 => /usr/local/lib/libXi.so.6 (0x00007f63298ed000)
libX11.so.6 => /usr/local/lib/libX11.so.6 (0x00007f63295b2000)
libatk-bridge-2.0.so.0 => /usr/local/lib64/libatk-bridge-2.0.so.0 (0x00007f6329380000)
libXfixes.so.3 => /usr/local/lib/libXfixes.so.3 (0x00007f632917a000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f6329157000)
libpcre.so.1 => /usr/local/lib/libpcre.so.1 (0x00007f63290e4000)
libffi.so.6 => /usr/local/lib64/libffi.so.6 (0x00007f6328edb000)
libz.so.1 => /usr/local/lib/libz.so.1 (0x00007f6328cc0000)
libmount.so.1 => /lib/libmount.so.1 (0x00007f6328c65000)
libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f6328c4c000)
/lib64/ld-linux-x86-64.so.2 (0x00007f632b8d3000)
librt.so.1 => /lib64/librt.so.1 (0x00007f6328c40000)
libxkbcommon.so.0 => /usr/local/lib64/libxkbcommon.so.0 (0x00007f63289f5000)
libwayland-client.so.0 => /usr/local/lib64/libwayland-client.so.0 (0x00007f63289e5000)
libwayland-cursor.so.0 => /usr/local/lib64/libwayland-cursor.so.0 (0x00007f63289dc000)
libwayland-egl.so.1 => /usr/local/lib64/libwayland-egl.so.1 (0x00007f63289d7000)
libXext.so.6 => /usr/local/lib/libXext.so.6 (0x00007f63287c5000)
libXcursor.so.1 => /usr/local/lib/libXcursor.so.1 (0x00007f63285b9000)
libXdamage.so.1 => /usr/local/lib/libXdamage.so.1 (0x00007f63283b6000)
libXcomposite.so.1 => /usr/local/lib/libXcomposite.so.1 (0x00007f63281b3000)
libXrandr.so.2 => /usr/local/lib/libXrandr.so.2 (0x00007f6327fa8000)
libXinerama.so.1 => /usr/local/lib/libXinerama.so.1 (0x00007f6327da5000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f6327da0000)
libgraphite2.so.3 => /usr/local/lib/libgraphite2.so.3 (0x00007f6327b69000)
libpixman-1.so.0 => /usr/local/lib/libpixman-1.so.0 (0x00007f63278c5000)
libEGL.so.1 => /usr/local/lib/libEGL.so.1 (0x00007f632787c000)
libGLESv2.so.2 => /usr/local/lib/libGLESv2.so.2 (0x00007f6327870000)
libpng16.so.16 => /usr/local/lib/libpng16.so.16 (0x00007f632783c000)
libxcb-shm.so.0 => /usr/local/lib/libxcb-shm.so.0 (0x00007f6327639000)
libX11-xcb.so.1 => /usr/local/lib/libX11-xcb.so.1 (0x00007f6327435000)
libxcb.so.1 => /usr/local/lib/libxcb.so.1 (0x00007f632720f000)
libxcb-render.so.0 => /usr/local/lib/libxcb-render.so.0 (0x00007f6327002000)
libXrender.so.1 => /usr/local/lib/libXrender.so.1 (0x00007f6326df8000)
libexpat.so.1 => /usr/local/lib/libexpat.so.1 (0x00007f6326bc6000)
libuuid.so.1 => //lib/libuuid.so.1 (0x00007f6326bbb000)
libbz2.so.1.0 => /usr/local/lib/libbz2.so.1.0 (0x00007f63269ab000)
libiconv.so.2 => /usr/local/lib/libiconv.so.2 (0x00007f63266c6000)
libXau.so.6 => /usr/local/lib/libXau.so.6 (0x00007f63264c3000)
libXdmcp.so.6 => /usr/local/lib/libXdmcp.so.6 (0x00007f63262bd000)
libdbus-1.so.3 => /usr/lib/libdbus-1.so.3 (0x00007f632625b000)
libatspi.so.0 => /usr/local/lib64/libatspi.so.0 (0x00007f6326228000)
libblkid.so.1 => /lib/libblkid.so.1 (0x00007f63261d6000)
libxcb-dri2.so.0 => /usr/local/lib/libxcb-dri2.so.0 (0x00007f6325fd1000)
libxcb-dri3.so.0 => /usr/local/lib/libxcb-dri3.so.0 (0x00007f6325dcb000)
libxcb-xfixes.so.0 => /usr/local/lib/libxcb-xfixes.so.0 (0x00007f6325bc3000)
libxcb-present.so.0 => /usr/local/lib/libxcb-present.so.0 (0x00007f63259c0000)
libxcb-sync.so.1 => /usr/local/lib/libxcb-sync.so.1 (0x00007f63257b9000)
libxshmfence.so.1 => /usr/local/lib/libxshmfence.so.1 (0x00007f63255b7000)
libgbm.so.1 => /usr/local/lib/libgbm.so.1 (0x00007f63255a7000)
libwayland-server.so.0 => /usr/local/lib/../lib64/libwayland-server.so.0 (0x00007f632558f000)
libdrm.so.2 => /usr/local/lib/libdrm.so.2 (0x00007f632537e000)
libglapi.so.0 => /usr/local/lib/libglapi.so.0 (0x00007f632534b000)
libsystemd.so.0 => /usr/x86_64-linux-gnu/libsystemd.so.0 (0x00007f63250a4000)
liblzma.so.5 => /usr/local/lib/liblzma.so.5 (0x00007f6324e7c000)
liblz4.so.1 => /usr/local/lib/liblz4.so.1 (0x00007f6324c45000)
libcap.so.2 => /lib64/libcap.so.2 (0x00007f6324a3f000)
libgcrypt.so.20 => /usr/local/lib/libgcrypt.so.20 (0x00007f6324733000)
libattr.so.1 => /usr/local/lib/libattr.so.1 (0x00007f632452e000)
libgpg-error.so.0 => /usr/local/lib/libgpg-error.so.0 (0x00007f632431a000)