tool extensions extensiones extension chrome javascript gnome-3 gnome-shell gnome-shell-extensions

javascript - extensions - gnome>- shell



¿Cómo probar/depurar extensiones de GNOME Shell? ¿Hay alguna herramienta para eso? (8)

Me gustaría desarrollar extensiones de GNOME Shell y descubrí que es realmente fácil entrar en el proceso de desarrollo, pero todavía no sé cómo depurar / probar mis extensiones de manera efectiva.

¿Hay alguna herramienta para ese propósito? ¿Hay algún tipo de consola en tiempo real como la que tenemos en los navegadores modernos o entornos de servidores de JavaScript?


En Fedora 20 (y probablemente en cualquier nueva distribución de Linux) puede usar ese comando:

journalctl /usr/bin/gnome-session -f -o cat

Constantemente ( -f ) imprime los errores generados por gnome-session en la ventana de terminal. Prefiero -o cat flag ya que muestra mensajes completos sin timestaps.

En Fedora 22, creo que fue reemplazado por:

journalctl /usr/bin/gnome-shell -f -o cat


Estamos desarrollando un paquete de emacs dirigido al desarrollo de la extensión gnome-shell aquí: https://github.com/paperwm/gnome-shell-mode

Todavía está en "beta" (diciembre de 2017), pero ya es muy útil.

Caracteristicas

  • Autocompletado (muuuch mejor que lo que proporciona el espejo)
  • Eval de línea, selección, función actual, buffer (opcionalmente pegando el resultado en el buffer en un comentario)
  • Resaltar error al evaluar
  • Asistente de búsqueda de documentación
  • Ayuda para volver a cargar el módulo en el que está trabajando sin reiniciar gnome-shell

Las otras respuestas realmente no funcionaron para mí mientras desarrollaba mi propia extensión. Lo que sin embargo fue:

journalctl /usr/lib/gnome-session/gnome-session-binary -f -o cat

Si desea declutter el resultado para ver solo su aplicación, puede usar:

journalctl /usr/lib/gnome-session/gnome-session-binary -f -o cat | grep [myAppId]

Si también desea acceder a registros que no son de errores utilizando el método anterior, puede usar:

global.log(''[myAppId]'', valueToLog);

Si no conoce el camino correcto para su sesión de gnome, también puede usar:

journalctl -f | grep gnome-session

La razón por la que no funcionaba era probablemente porque mi ruta gnome-session-binary era diferente, lo que podría estar relacionado con una versión más nueva de gnome que se está instalando.


Looking Glass es genial. Sin embargo, si necesita una consola recta, puede obtener una, pero no a través de LG, al menos no a partir de 3.6.

Si abre un terminal y escribe gnome-shell --replace , gnome-shell se ejecutará desde allí, reemplazando la instancia en ejecución, y el resultado del log global aparecerá en esa consola.

Puedes probarlo con Looking Glass haciendo Alt - F2 lg , y luego global.log("foo") en la pestaña "Evaluador".


No puedo comentar otras respuestas todavía, así que pensé en agregar, aunque sea tarde:

  • Para el comentario 2 de la respuesta de Geoff, simplemente reinicie el shell mediante alt+f2 - luego r e enter , cuando eso suceda, la sesión de ejecución del terminal terminará automáticamente (al menos en Debian).

  • Recomendaría la respuesta de jsnjack para la depuración general, que también funciona con Debian Jessy; Sin embargo, probablemente quiera sudo eso. Mostrará errores gnome, así como también mensajes global.log () en cualquier terminal donde lo ejecute.

En todo caso, esto proporciona una referencia más completa para mí, ya que he encontrado esta página más de una vez al hacer referencia a información que no guardo en mi memoria.


Prefiero leer ~/.xsession-errors y ~/.cache/gdm/session.log archivos para más detalles. Algunos de los mensajes de error pueden tener una relación con otras excepciones o errores.


Anjuta Dev-Studio es una gran herramienta para trabajar con extensiones gnome-shell; viene equipado con un depurador, diseñador de GUI, control de versiones y más. Incluso hay un tutorial guiado para usar Anjuta con proyectos de extensión gnome-shell en las wiki-pages de gnome