Làm thế nào tôi có thể theo dõi tin nhắn của khách hàng X?


Câu trả lời:


8

Chạy ứng dụng theo xtrace . Nó sẽ ghi lại tất cả các liên lạc giữa ứng dụng và máy chủ X, bao gồm lệnh gửi hoặc nhận tin nhắn máy khách X.

xtrace myapp

Đó là loại những gì tôi đang cố gắng giải quyết - ứng dụng nào đang đặt nó ở đó? Tôi có tên lớp cửa sổ lớp : gnome-power-manager, nhưng không có ứng dụng nào được gọi như vậy. Không có gì phù hợp với " sức mạnh " chạy như một daemon.
Shawn J. Goff

1
@ ShawnJ.Goff Theo dõi phía máy chủ, tức là khay hệ thống.
Gilles 'SO- ngừng trở nên xấu xa'

Ồ, và bạn có chắc chắn rằng giao tiếp thông qua các sự kiện cửa sổ chứ không phải qua dbus?
Gilles 'SO- ngừng trở nên xấu xa'

1
@ ShawnJ.Goff gnome-power-managerngày nay là một phần củagnome-settings-daemon
Ulrich Dangel

3

Chỉ huy

    xev -id WINDOW_ID

sẽ in X11 "sự kiện cửa sổ". Trong X11, những thứ này được gọi là "sự kiện". (Trái ngược với "tin nhắn" trong Microsoft Windows).

Để có được id cửa sổ, sử dụng xwininfo.

người đàn ông xev, người đàn ông xwininfo.


2
[Tin nhắn khách hàng] [1] dường như là một loại sự kiện. Freedesktop [thông số khay hệ thống] [2] đặc biệt nói về "thông điệp máy khách x". Trong mọi trường hợp, tôi có cửa sổ chính xác, nhưng xevkhông cung cấp cho tôi bất kỳ thông tin nào về chương trình nào đang gửi sự kiện nào đến cửa sổ đó, nhưng trạng thái của nó chắc chắn đang được cập nhật bởi một cái gì đó. [1]: tronche.com/gui/x/xlib/events/client-communication/... [2]: standards.freedesktop.org/systemtray-spec/...
Shawn J. Goff
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.