Flatpak on wayland 错误“无法打开显示:”

问题描述

每当我尝试在 Wayland 上运行任何 Gtk+ Flatpak-ed 应用程序时,我都会收到如下错误(porto:3): Gtk-WARNING **: 00:55:13.780: cannot open display: :99.0 (setzer:2): Gtk-WARNING **: 01:01:41.868: cannot open display: (org.gnome.Maps:2): Gtk-WARNING **: 01:02:18.136: cannot open display:

解决方法

问题似乎是 GDK_BACKEND 变量由于某种原因设置为 X11。运行以下命令来检查您是否有同样的问题。我使用的是 gnome 地图,但您可以使用任何您喜欢的应用。

flatpak run --command=sh org.gnome.Maps
echo $GDK_BACKEND:$WAYLAND_DISPLAY:$DISPLAY

您的输出应该类似于 wayland-0,x11:wayland-0,:0.0。如果不是,您应该尝试尝试使用这些变量

export GDK_BACKEND="wayland,x11"
export WAYLAND_DISPLAY="wayland-0"
export DISPLAY="wayland-0"
gnome-maps

变量更改不是永久性的,只有在容器外壳关闭时才会设置。

,

就我而言,它是 flatpak 下的 Java 应用程序,拒绝启动并显示无法打开显示错误。

我通过将 flatpak 清单 "--socket=fallback-x11" 元素中的 "--socket=x11" 更改为 "finish-args" 来修复它。