Tengo una aplicación que parece haber agarrado el mouse (puedo moverla pero no puedo hacer clic en ningún lado), ¿hay alguna forma de encontrar qué aplicación posee el mouse X.org?
El acceso directo que se proporciona aquí para liberar el mouse no parece funcionar, por lo que estoy interesado en algo que pueda brindarme más información.
Respuestas:
Puede hacer esto presionando la XF86LogGrabInfotecla, introducida en esta confirmación .
Por defecto, este keyym no está vinculado a ninguna tecla física o combinación de teclas. Pero aún puede activarlo usando
xdotool
:Después de ejecutar ese comando, se registrará una lista de capturas activas en el registro X. En Ubuntu al menos, esto es
/var/log/Xorg.0.log
. Estará en algún lugar cerca del final del archivo de registro, pero puede haber varios mensajes de registro irrelevantes debajo de él. Si no hay agarres, escribe:Si hay capturas (aquí, abrí un menú en Firefox), registra algo como:
fuente
Acabo de tener un problema similar y lo reduje a un error que de alguna manera hace que X11 piense que el botón central está presionado y no liberado. Desconectar físicamente el mouse no ayuda, hasta que haya un evento de mouseup.
El problema se puede reproducir utilizando
xdotool mousedown 2
: es imposible cambiar el foco entre ventanas,xdotool key XF86LogGrabInfo
muestra la ventana del proceso enfocado actual, pero cuando uno lo mata, otra ventana recibe el foco y el mismo escenario continúa.Solución alternativa: problema
xdotool mouseup 2
.Actualización: el botón central que se presiona y no se suelta es simplemente el menos notable, porque la mayoría de las aplicaciones no responden, y algunos ratones no tienen este botón para intentar y hacer clic para ver si el problema desaparece.
fuente
Las entradas en el registro de Xorg pueden ser bastante indescifrables. Escribí un programa que los analiza y los presenta en una forma manejable por humanos:
https://gist.github.com/CyberShadow/6412d11aea64144f8905cc0b8196f38e
Para usar, primero ejecute
xdotool key XF86LogGrabInfo
, como se describe en la respuesta del caracol mecánico. Luego, ejecute el programa vinculado anteriormente. Si su archivo de registro Xorg no se encuentra en/var/log/Xorg.0.log
, puede especificar su ubicación utilizando la--xorg-log
opción. Ver--help
para más detalles.fuente