Saya memiliki aplikasi yang tampaknya telah meraih mouse (saya bisa memindahkannya tetapi tidak bisa mengklik di mana saja), apakah ada cara untuk menemukan aplikasi mana yang memiliki ambil mouse X.org?
Pintasan yang diberikan di sini untuk melepaskan mouse tampaknya tidak berfungsi, jadi saya tertarik pada sesuatu yang dapat memberi saya informasi lebih lanjut.
Jawaban:
Anda dapat melakukan ini dengan menekan XF86LogGrabInfotombol, yang diperkenalkan di komit ini .
Secara default, keyym ini tidak terikat pada kunci fisik atau kombinasi tombol apa pun. Tetapi Anda masih dapat mengaktifkannya menggunakan
xdotool
:Setelah menjalankan perintah itu, daftar pengambilan aktif akan dicatat ke log X. Setidaknya di Ubuntu, ini
/var/log/Xorg.0.log
. Itu akan berada di suatu tempat di dekat akhir file log, tetapi mungkin ada beberapa pesan log yang tidak relevan di bawahnya. Jika tidak ada hasil, ia menulis:Jika ada ambil (di sini, saya membuka menu di Firefox), itu mencatat sesuatu seperti:
sumber
Saya baru saja mengalami masalah yang sama, dan mempersempitnya ke bug yang entah bagaimana membuat X11 berpikir tombol tengah ditekan dan tidak dirilis. Memutuskan hubungan secara fisik mouse tidak membantu, sampai ada acara mouseup.
Masalah ini dapat direproduksi menggunakan
xdotool mousedown 2
- tidak mungkin untuk mengalihkan fokus antara windows,xdotool key XF86LogGrabInfo
menunjukkan jendela proses fokus saat ini, tetapi ketika satu membunuhnya, jendela lain menerima fokus dan skenario yang sama berlanjut.Penanganan masalah: masalah
xdotool mouseup 2
.Pembaruan: tombol tengah ditekan dan tidak dilepaskan adalah yang paling tidak terlihat, karena sebagian besar aplikasi tidak merespons, dan beberapa tikus tidak memiliki tombol ini untuk mencoba dan mengklik untuk melihat apakah masalah hilang.
sumber
Entri dalam log Xorg bisa sangat tidak dapat diuraikan. Saya menulis sebuah program yang mem-parsing mereka dan menyajikannya dalam bentuk yang bisa ditelusuri manusia:
https://gist.github.com/CyberShadow/6412d11aea64144f8905cc0b8196f38e
Untuk menggunakan, jalankan pertama
xdotool key XF86LogGrabInfo
, seperti yang dijelaskan dalam jawaban siput mekanik. Kemudian, jalankan program yang ditautkan di atas. Jika file log Xorg Anda tidak terletak di/var/log/Xorg.0.log
, Anda dapat menentukan lokasinya menggunakan--xorg-log
opsi. Lihat--help
detailnya.sumber