Encontre o proprietário do ponteiro do X.org

17

Eu tenho um aplicativo que parece ter pegado o mouse (eu posso movê-lo, mas não consigo clicar em qualquer lugar), existe uma maneira de descobrir qual aplicativo possui o mouse do X.org?

O atalho dado aqui para liberar o mouse não parece funcionar, então estou interessado em algo que poderia me dar mais informações.

    
por Tobu 21.12.2012 / 19:38

3 respostas

15

Você pode fazer isso pressionando a tecla XF86LogGrabInfo , introduzida em esta cometer .

Por padrão, este keysym não está ligado a nenhuma chave física ou combinação de teclas. Mas você ainda pode ativá-lo usando xdotool :

xdotool key "XF86LogGrabInfo"

Depois de executar esse comando, uma lista de ataques ativos será registrada no log X. Pelo menos no Ubuntu, isso é /var/log/Xorg.0.log . Ele estará em algum lugar perto do final do arquivo de log, mas pode haver várias mensagens de log irrelevantes abaixo dele. Se não houver agarra, escreve:

[1199271.146] (II) Printing all currently active device grabs:
[1199271.146] (II) End list of active device grabs

Se houver garras (aqui, abri um menu no Firefox), ele registra algo como:

[1199428.782] (II) Printing all currently active device grabs:
[1199428.782] Active grab 0x4c00000 (core) on device 'Virtual core pointer' (2):
[1199428.782]       client pid 15620 /usr/lib/firefox/firefox 
[1199428.782]       at 1199423728 (from active grab) (device thawed, state 1)
[1199428.782]         core event mask 0x7c
[1199428.782]       owner-events true, kb 1 ptr 1, confine 0, cursor 0x0
[1199428.782] (II) End list of active device grabs
    
por 23.01.2013 / 10:35
2

Acabei de ter um problema semelhante e reduzi-o a um bug que de alguma forma faz o X11 achar que o botão do meio está pressionado e não liberado. Desconectar fisicamente o mouse não ajuda, até que haja um evento de mouseup.

O problema pode ser reproduzido usando xdotool mousedown 2 - é impossível alternar o foco entre as janelas,

xdotool key XF86LogGrabInfo mostra a janela do processo com foco atual, mas quando uma a mata, outra janela recebe foco e o mesmo cenário continua.

Solução alternativa: emissão xdotool mouseup 2 .

Atualização: o botão do meio sendo pressionado e não liberado é simplesmente o menos perceptível, porque a maioria dos aplicativos não responde a ele, e alguns mouses não têm esse botão para tentar clicar para ver se o problema desaparece. / p>     

por 01.10.2016 / 00:13
0

As entradas no log do Xorg podem ser bastante indecifráveis. Eu escrevi um programa que os analisa e os apresenta de uma forma tratável:

link

Para usar, execute primeiro xdotool key XF86LogGrabInfo , conforme descrito em Resposta do caracol mecânico. Em seguida, execute o programa vinculado acima. Se o arquivo de log do Xorg não estiver localizado em /var/log/Xorg.0.log , você poderá especificar sua localização usando a opção --xorg-log . Veja --help para detalhes.

    
por 30.03.2016 / 20:00

Tags