Finden Sie den Besitzer des X.org-Zeigergreifers

17

Ich habe eine Anwendung, die anscheinend die Maus gepackt hat (ich kann sie bewegen, aber nicht überall klicken). Gibt es eine Möglichkeit, herauszufinden, welche Anwendung den X.org-Mausgriff besitzt?

Die hier angegebene Verknüpfung zum Loslassen der Maus schien nicht zu funktionieren, daher bin ich an etwas interessiert, das mir weitere Informationen geben könnte.

Tobu
quelle
Sind Sie sicher, dass dies das Problem ist? Es wäre etwas bizarr für eine Anwendung, die Sie nicht verwenden, um dies zu tun (wenn dies der Fall wäre, würde ich die Verwendung dieser App einstellen). Wenn dies wirklich der Grund ist, ist es wahrscheinlich, was auch immer Sie gerade verwendeten.
Goldlöckchen
Ich habe herausgefunden, welche durch Versuch und Irrtum, ein paar Dinge zu töten, bis etwas (eine Wein-App) den Grab losließ.
Tobu

Antworten:

16

Sie können dies durch Drücken der XF86LogGrabInfoin diesem Commit eingeführten Taste tun .

Standardmäßig ist dieses Schlüsselwort nicht an einen physischen Schlüssel oder eine Tastenkombination gebunden. Sie können es dennoch aktivieren, indem Sie Folgendes verwenden xdotool:

xdotool key "XF86LogGrabInfo"

Nach dem Ausführen dieses Befehls wird eine Liste der aktiven Ziehungen im X-Protokoll protokolliert. Zumindest unter Ubuntu ist das so /var/log/Xorg.0.log. Es wird sich irgendwo in der Nähe des Endes der Protokolldatei befinden, aber möglicherweise befinden sich mehrere irrelevante Protokollmeldungen darunter. Wenn es keine Zupacken gibt, schreibt es:

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

Wenn es Grabs gibt (hier habe ich ein Menü in Firefox geöffnet), protokolliert es so etwas wie:

[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
Mechanische Schnecke
quelle
2

Ich hatte gerade ein ähnliches Problem und habe es auf einen Fehler eingegrenzt, durch den X11 den Eindruck erweckt, der mittlere Knopf sei gedrückt und nicht losgelassen. Das physische Trennen der Maus hilft nicht, bis ein Mouseup-Ereignis auftritt.

Das Problem kann reproduziert werden mit xdotool mousedown 2- es ist unmöglich, den Fokus zwischen den Fenstern zu wechseln,

xdotool key XF86LogGrabInfo Zeigt das aktuelle fokussierte Prozessfenster an, aber wenn eines beendet wird, erhält ein anderes Fenster den Fokus und dasselbe Szenario wird fortgesetzt.

Problemumgehung: Problem xdotool mouseup 2.

Update: Wenn die mittlere Taste gedrückt und nicht losgelassen wird, fällt dies am wenigsten auf, da die meisten Apps nicht darauf reagieren und einige Mäuse nicht über diese Taste verfügen, um zu versuchen, durch Klicken festzustellen, ob das Problem behoben ist.

ArticIceJuice
quelle
0

Die Einträge im Xorg-Protokoll können ziemlich unkenntlich sein. Ich habe ein Programm geschrieben, das sie analysiert und in einer für den Menschen nachvollziehbaren Form darstellt:

https://gist.github.com/CyberShadow/6412d11aea64144f8905cc0b8196f38e

Führen Sie zunächst den Befehl aus xdotool key XF86LogGrabInfo, wie in der Antwort von Mechanical Snail beschrieben. Führen Sie dann das oben verlinkte Programm aus. Wenn sich /var/log/Xorg.0.logIhre Xorg-Protokolldatei nicht in befindet , können Sie den Speicherort mithilfe der --xorg-logOption angeben . Siehe --helpfür weitere Einzelheiten.

Vladimir Panteleev
quelle