gnome 地图程序永远不会运行

gnome 地图程序永远不会运行

我在运行 GNOME 地图时遇到此问题

~$ gnome-maps

(org.gnome.Maps:10414): Gjs-WARNING **: 19:43:34.553: Some code called array.toString() on a Uint8Array instance. Previously this would have interpreted the bytes of the array as a string, but that is nonstandard. In the future this will return the bytes as comma-separated digits. For the time being, the old behavior has been preserved, but please fix your code anyway to explicitly call ByteArray.toString(array).
(Note that array.toString() may have been called implicitly.)
0 <TOP LEVEL> ["resource:///org/gnome/Maps/js/osmTypes.js":32]
1 <TOP LEVEL> ["resource:///org/gnome/Maps/js/osmEditDialog.js":35]
2 <TOP LEVEL> ["resource:///org/gnome/Maps/js/osmEdit.js":25]
3 <TOP LEVEL> ["resource:///org/gnome/Maps/js/contextMenu.js":33]
4 <TOP LEVEL> ["resource:///org/gnome/Maps/js/mainWindow.js":33]
5 <TOP LEVEL> ["resource:///org/gnome/Maps/js/application.js":35]
6 <TOP LEVEL> ["resource:///org/gnome/Maps/js/main.js":43]
7 start() ["resource:///org/gnome/gjs/modules/package.js":209]
8 <TOP LEVEL> ["/usr/bin/gnome-maps":2]


(org.gnome.Maps:10414): Gdk-WARNING **: 19:43:36.525: Native Windows taller than 65535 pixels are not supported
Gdk-Message: 19:43:36.574: Error 71 (Protocol error) dispatching to Wayland display.

19:43:36.574(此消息已更改多次)

这是什么?

答案1

Gdk-Message假设 GNOME 地图在 GNOME 下的 Debian 10 中启动时崩溃:

Error 71 (Protocol error) dispatching to Wayland display.

代表着GDK由于GTK渲染引擎由于某种原因无法与Mutter通信,这是韦兰合成器在 GNOME 中。因此,您的应用程序无法向系统解释如何将其呈现到显示器上并崩溃。假设您的 Debian 10 安装与其他安装完全相同,则该错误可能是由特定于您的硬件的图形驱动程序和固件引起的。

Debian 保留了一系列内置的后备机制,以防 Wayland 尚不适合您。虽然其中一些是自动的,但有一个对最终用户来说是显而易见的。您可以在登录屏幕上选择不同的会话,而不是使用 Wayland 的默认“GNOME”会话。按密码字段下方的齿轮图标 ⚙️ 即可访问它们。其他选项包括“System X11 Default”和“GNOME on奥格”。登录后,可能看起来没有任何变化,因此您可以检查您当前的会话是echo $XDG_SESSION_TYPE.侏儒经典改变的不仅仅是显示服务器。

还可以强制应用程序运行在X韦兰在 Wayland 会话下。这样,您无需更改默认会话,就可以继续使用 Wayland,同时避免应用程序在 Wayland 下引起的问题。

GTK3

当环境GDK_BACKEND变量设置为“wayland”时,将强制运行具有 Wayland 后端的 GTK3 应用程序。同样,将环境变量设置为“x11”将强制其与 X11 后端一起运行(对于强制应用程序使用在其本机 Wayland 模式下运行时存在兼容性问题的 Xwayland 很有用)。

您可以使用env在具有 X11 GDK 后端的修改环境中运行应用程序。要从终端在 Wayland 的 X11 下启动 GNOME 地图:

$ env GDK_BACKEND=x11 gnome-maps

如果有效的话可以修改一下Exec钥匙下应用程序的桌面条目/usr/share/applications。对于 GNOME 地图,它位于org.gnome.Maps.desktop

Exec=gapplication launch org.gnome.Maps %U

修改后的内容是:

Exec=env GDK_BACKEND=x11 gapplication launch org.gnome.Maps %U

这样,当从 GNOME 启动时,地图将在 XWayland 中启动,例如通过单击应用程序的图标。

相关内容