ค้นหาเจ้าของคว้าตัวชี้ X.org


17

ฉันมีแอพพลิเคชั่นที่ดูเหมือนจะคว้าเม้าส์ (ฉันสามารถเคลื่อนย้ายได้ แต่ไม่สามารถคลิกที่ใดก็ได้) มีวิธีในการค้นหาแอพใดที่เป็นเจ้าของการคว้าเมาส์ของ X.org?

ทางลัดที่ให้ไว้เพื่อปล่อยเมาส์ดูเหมือนจะไม่ทำงานดังนั้นฉันจึงสนใจสิ่งที่สามารถให้ข้อมูลเพิ่มเติมแก่ฉันได้


คุณแน่ใจหรือไม่ว่าเป็นปัญหา มันจะค่อนข้างแปลกสำหรับแอปพลิเคชันที่คุณไม่ได้ใช้ในการทำเช่นนี้ (ถ้าเป็นเช่นนั้นฉันจะหยุดใช้แอพนั้น) ดังนั้นโอกาสคือ - ถ้านี่เป็นสาเหตุจริงๆ - เป็นสิ่งที่คุณเพิ่งใช้
goldilocks

ฉันพบสิ่งที่จากการลองผิดลองถูกฆ่าไปสองสามอย่างจนกระทั่งมีอะไรบางอย่าง (แอปไวน์) หลุดออกมา
Tobu

คำตอบ:


16

คุณสามารถทำได้โดยการกดปุ่มXF86LogGrabInfoแนะนำในการกระทำนี้

โดยค่าเริ่มต้น keysym นี้จะไม่ผูกพันกับคีย์ทางกายภาพหรือการรวมกันของคีย์ใด ๆ แต่คุณยังสามารถเปิดใช้งานได้โดยใช้xdotool:

xdotool key "XF86LogGrabInfo"

หลังจากดำเนินการคำสั่งนั้นรายการของ grabs ที่ใช้งานจะถูกบันทึกลงในบันทึก 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 คิดว่าปุ่มกลางถูกกดและไม่ออก การตัดการเชื่อมต่อเมาส์ทางกายภาพไม่ได้ช่วยจนกว่าจะมีเหตุการณ์การวางเมาส์

ปัญหานี้สามารถทำซ้ำได้โดยใช้xdotool mousedown 2- เป็นไปไม่ได้ที่จะสลับโฟกัสระหว่างหน้าต่าง

xdotool key XF86LogGrabInfo แสดงหน้าต่างกระบวนการโฟกัสปัจจุบัน แต่เมื่อหนึ่งฆ่าหน้าต่างอื่นจะได้รับโฟกัสและสถานการณ์เดียวกันจะดำเนินต่อไป

การแก้ปัญหา: xdotool mouseup 2ปัญหา

อัปเดต: ปุ่มกลางที่ถูกกดและไม่ปล่อยออกมานั้นเป็นสิ่งที่สังเกตได้น้อยที่สุดเพราะแอพส่วนใหญ่ไม่ตอบสนองและเม้าส์บางตัวไม่มีปุ่มนี้เพื่อลองและคลิกเพื่อดูว่าปัญหาหายไปหรือไม่


0

รายการในบันทึก Xorg อาจไม่สามารถถอดรหัสได้ ฉันเขียนโปรแกรมที่วิเคราะห์คำเหล่านั้นและนำเสนอในรูปแบบที่มนุษย์สามารถอ่านได้:

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

หากต้องการใช้ให้เรียกใช้ครั้งแรกxdotool key XF86LogGrabInfoตามที่อธิบายไว้ในคำตอบของหอยทากเครื่องกล จากนั้นเรียกใช้โปรแกรมที่ลิงก์ด้านบน หากไฟล์บันทึก Xorg ของคุณไม่ได้อยู่ที่/var/log/Xorg.0.logคุณสามารถระบุตำแหน่งโดยใช้--xorg-logตัวเลือก ดู--helpรายละเอียดที่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.