Bagaimana saya bisa memata-matai pesan klien X?

8

Dalam pertempuran terus-menerus melawan ikon jelek , saya menemukan bahwa aplikasi dapat berkomunikasi dengan baki sistem dengan mengirim pesan klien X. Apakah ada utilitas untuk memata-matai pesan-pesan ini?

Shawn J. Goff
sumber

Jawaban:

8

Jalankan aplikasi di bawah xtrace . Ini akan mencatat semua komunikasi antara aplikasi dan server X, termasuk perintah untuk mengirim atau menerima pesan klien X.

xtrace myapp
Gilles 'SANGAT berhenti menjadi jahat'
sumber
Itulah yang sedang saya coba pecahkan - aplikasi apa yang ada di sana? Saya memiliki jendela kelas nama kelas:, gnome-power-managertetapi tidak ada aplikasi yang disebut itu. Tidak ada yang cocok dengan " kekuatan " yang berjalan sebagai daemon.
Shawn J. Goff
1
@ ShawnJ.Goff Lacak sisi server, yaitu baki sistem.
Gilles 'SANGAT berhenti menjadi jahat'
Oh, dan apakah Anda yakin bahwa komunikasi itu melalui acara jendela dan bukan melalui dbus?
Gilles 'SANGAT berhenti menjadi jahat'
1
@ ShawnJ.Goff gnome-power-managersaat ini adalah bagian darignome-settings-daemon
Ulrich Dangel
3

Perintah

    xev -id WINDOW_ID

akan mencetak X11 "acara jendela". Di X11, hal-hal ini disebut "peristiwa". (Berbeda dengan "pesan" di Microsoft Windows).

Untuk mendapatkan id jendela, gunakan xwininfo.

man xev, man xwininfo.

Andrei
sumber
2
Sebuah [pesan klien] [1] tampaknya merupakan jenis acara. Freedesktop [spesifikasi baki sistem] [2] secara khusus berbicara tentang "pesan klien x". Bagaimanapun, saya memiliki jendela yang benar, tetapi xevtidak memberikan informasi apa pun tentang program apa yang mengirim acara apa ke jendela itu, tetapi statusnya pasti diperbarui oleh sesuatu. [1]: tronche.com/gui/x/xlib/events/client-communication/… [2]: standards.freedesktop.org/systemtray-spec/…
Shawn J. Goff