Flatpak on wayland 错误 "cannot open display: "

Flatpak on wayland error "cannot open display: "

每当我尝试 运行 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

变量更改不是永久性的,只会在容器 shell 关闭之前设置。

在我的例子中,这是一个 Java flatpak 下的应用程序拒绝启动并显示无法打开显示错误。

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