El programa de mapas gnome nunca se ejecuta

Sep 29 2020

Tengo este problema al ejecutar GNOME Maps

~$ 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 (Este mensaje ha cambiado muchas veces)

¿Qué es esto?

Respuestas

RomanRiabenko Oct 01 2020 at 02:17

Suponiendo que GNOME Maps falla al inicio con esto Gdk-Messageen Debian 10 bajo GNOME:

Error 71 (Protocol error) dispatching to Wayland display.

Significa que GDK como motor de renderizado GTK falla por alguna razón para comunicarse con Mutter, que es el compositor de Wayland en GNOME. Como resultado, su aplicación no explica al sistema cómo mostrarla en pantalla y se bloquea. Suponiendo que su instalación de Debian 10 sea la misma que cualquier otra, el error podría deberse a la combinación de controladores gráficos y firmware específicos de su hardware.

Debian mantiene una variedad de mecanismos de respaldo integrados en caso de que Wayland aún no funcione para usted. Si bien algunos de ellos son automáticos, hay uno evidente para el usuario final. Puede elegir una sesión diferente en la pantalla de inicio de sesión, además de la sesión predeterminada "GNOME", que utiliza Wayland. Presiona el ícono de ajustes ⚙️ debajo del campo de contraseña para acceder a ellos. Otras opciones incluyen "Sistema X11 predeterminado" y "GNOME en Xorg ". Una vez que inicie sesión, puede parecer que nada cambió, por lo que puede verificar su sesión actual con echo $XDG_SESSION_TYPE. GNOME Classic cambia mucho más que el servidor de visualización.

También es posible forzar la ejecución de una aplicación en XWayland en la sesión de Wayland. De esta manera, no necesita cambiar la sesión predeterminada y puede continuar usando Wayland mientras evita los problemas que la aplicación causa en Wayland.

GTK3

La GDK_BACKENDvariable de entorno, cuando se establece en "wayland", ejecutará a la fuerza una aplicación GTK3 con el backend de Wayland. De manera similar, establecer la variable de entorno en "x11" la obligará a ejecutarse con el backend X11 (útil para forzar a las aplicaciones a usar Xwayland que tienen problemas de compatibilidad cuando operan en su modo Wayland nativo).

Puede usar envpara ejecutar una aplicación en un entorno modificado con el backend X11 GDK. Para iniciar GNOME Maps en X11 en Wayland desde la terminal:

$ env GDK_BACKEND=x11 gnome-maps

Si funciona, puede modificar la Execclave de la entrada de escritorio de la aplicación en /usr/share/applications. Para GNOME Maps, está en org.gnome.Maps.desktop:

Exec=gapplication launch org.gnome.Maps %U

El modificado sería:

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

De esta forma, Maps se iniciará en XWayland cuando se inicie desde GNOME, por ejemplo, haciendo clic en el icono de la aplicación.