X.orgポインターグラブの所有者を見つける


17

マウスをつかんだように見えるアプリケーションがあります(移動できますが、どこでもクリックできません)。X.orgマウスグラブを所有しているアプリを見つける方法はありますか?

ここでマウスを離すために与えられたショートカットは機能していないようでしたので、もっと情報が得られるものに興味があります。


それが問題だと確信していますか?あなたがこれを行うために使用していないアプリケーションにとっては少し奇妙です(もしそうなら、私はそのアプリの使用をやめるでしょう)ので、チャンスは-これが本当に原因であれば-それはあなたがちょうど使っていたものです。
goldilocks

試行錯誤によって、何か(ワインアプリ)がグラブをリリースするまで、いくつかのものを殺すことを見つけました。
東武

回答:


16

このコミットXF86LogGrabInfoで導入されたキーを押すことでこれを行うことができます。

デフォルトでは、このキーシムは物理キーまたはキーの組み合わせにバインドされていません。ただし、次を使用してアクティブ化することができますxdotool

xdotool key "XF86LogGrabInfo"

そのコマンドを実行すると、アクティブなグラブのリストがXログに記録されます。少なくともUbuntuでは、これは/var/log/Xorg.0.logです。ログファイルの終わり近くのどこかになりますが、その下にいくつかの無関係なログメッセージがある場合があります。グラブがない場合、それは書き込みます:

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

グラブがある場合(ここでは、Firefoxでメニューを開きました)、次のようなログを記録します。

[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

2

私は同様の問題を抱えていて、それをバグに絞り込んで、どういうわけかX11に中央のボタンが押されていてリリースされていないと思わせるようにしました。mouseupイベントが発生するまで、マウスを物理的に切断しても役に立ちません。

この問題は次を使用して再現できますxdotool mousedown 2-ウィンドウ間でフォーカスを切り替えることは不可能です。

xdotool key XF86LogGrabInfo 現在フォーカスされているプロセスウィンドウを表示しますが、強制終了すると別のウィンドウがフォーカスを取得し、同じシナリオが継続します。

回避策:問題xdotool mouseup 2

更新:中央のボタンが押されてリリースされていないのは、ほとんどのアプリがそれに反応しないため、目立たないものです。一部のマウスには、このボタンがなく、問題がなくなるかどうかを確認するためのボタンがありません


0

Xorgログのエントリはかなり判読できない場合があります。それらを解析し、人間が理解できる形式で表示するプログラムを作成しました。

https://gist.github.com/Cyber​​Shadow/6412d11aea64144f8905cc0b8196f38e

使用するには、最初にを実行しますxdotool key XF86LogGrabInfo。Mechanicalsnailの回答で説明されています。次に、上記のリンクされたプログラムを実行します。Xorgログファイルがにない/var/log/Xorg.0.log場合は、--xorg-logオプションを使用してその場所を指定できます。詳細--helpをご覧ください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.