Tìm chủ sở hữu con trỏ X.org


17

Tôi có một ứng dụng dường như đã chộp lấy con chuột (tôi có thể di chuyển nó nhưng không thể nhấp vào bất cứ đâu), có cách nào để tìm ứng dụng nào sở hữu chuột X.org không?

Phím tắt được đưa ra ở đây để thả chuột dường như không hoạt động, vì vậy tôi quan tâm đến thứ gì đó có thể cung cấp cho tôi thêm thông tin.


Bạn có chắc chắn đó là vấn đề gì không? Sẽ là hơi kỳ quái đối với một ứng dụng bạn không sử dụng để làm điều này (nếu có, tôi sẽ ngừng sử dụng ứng dụng đó), vì vậy rất có thể - nếu đây thực sự là nguyên nhân - đó là bất cứ điều gì bạn đang sử dụng.
goldilocks

Tôi đã tìm thấy bằng cách dùng thử và lỗi, giết một vài thứ cho đến khi một cái gì đó (một ứng dụng rượu vang) phát hành lấy.
Tobu

Câu trả lời:


16

Bạn có thể làm điều này bằng cách nhấn XF86LogGrabInfophím, được giới thiệu trong cam kết này .

Theo mặc định, keyym này không bị ràng buộc với bất kỳ tổ hợp phím hoặc khóa vật lý nào. Nhưng bạn vẫn có thể kích hoạt nó bằng cách sử dụng xdotool:

xdotool key "XF86LogGrabInfo"

Sau khi thực hiện lệnh đó, một danh sách các hoạt động lấy sẽ được ghi vào nhật ký X. Trên Ubuntu ít nhất, đây là /var/log/Xorg.0.log. Nó sẽ ở đâu đó gần cuối tệp nhật ký, nhưng có thể có một vài thông điệp tường trình không liên quan bên dưới nó. Nếu không có lấy, nó viết:

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

Nếu có snap (ở đây, tôi đã mở một menu trong Firefox), nó sẽ ghi lại một cái gì đó như:

[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

Tôi vừa gặp một vấn đề tương tự, và thu hẹp nó thành một lỗi mà bằng cách nào đó làm cho X11 nghĩ rằng nút giữa được nhấn và không được phát hành. Vật lý ngắt kết nối chuột không giúp đỡ, cho đến khi có một sự kiện mouseup.

Vấn đề có thể được sao chép bằng cách sử dụng xdotool mousedown 2- không thể chuyển trọng tâm giữa các cửa sổ,

xdotool key XF86LogGrabInfo hiển thị cửa sổ quy trình tập trung hiện tại, nhưng khi một người giết nó, một cửa sổ khác sẽ nhận được tiêu điểm và kịch bản tương tự tiếp tục.

Cách giải quyết: vấn đề xdotool mouseup 2.

Cập nhật: nút giữa được nhấn và không được phát hành đơn giản là nút ít được chú ý nhất, bởi vì hầu hết các ứng dụng không phản hồi và một số chuột không có nút này để thử và nhấp để xem có vấn đề gì không.


0

Các mục trong nhật ký Xorg có thể không thể giải mã được. Tôi đã viết một chương trình phân tích chúng và trình bày chúng ở dạng dễ điều khiển:

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

Để sử dụng, trước tiên hãy chạy xdotool key XF86LogGrabInfo, như được mô tả trong câu trả lời của ốc cơ khí. Sau đó, chạy chương trình liên kết ở trên. Nếu tệp nhật ký Xorg của bạn không được đặt tại /var/log/Xorg.0.log, bạn có thể chỉ định vị trí của nó bằng --xorg-logtùy chọn. Xem --helpđể biết chi tiết.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.