Comment puis-je espionner les messages du client X?


Réponses:


8

Exécutez l'application sous xtrace . Il enregistrera toutes les communications entre l'application et le serveur X, y compris la commande pour envoyer ou recevoir un message client X.

xtrace myapp

C'est en quelque sorte ce que j'essaie de résoudre - quelle application met cela là? J'ai le nom de classe de la fenêtre de classe gnome-power-manager:, mais il n'y a pas d'application qui s'appelle ainsi. Il n'y a rien qui corresponde à " power " fonctionnant en tant que démon.
Shawn J. Goff

1
@ ShawnJ.Goff Tracez le côté serveur, c'est-à-dire la barre d'état système.
Gilles 'SO- arrête d'être méchant'

Oh, et êtes-vous sûr que la communication se fait via des événements de fenêtre et non via dbus?
Gilles 'SO- arrête d'être méchant'

1
@ ShawnJ.Goff gnome-power-managerfait aujourd'hui partie degnome-settings-daemon
Ulrich Dangel

3

Commander

    xev -id WINDOW_ID

imprimera X11 "événements de fenêtre". Dans X11, ces choses sont appelées "événements". (Par opposition aux "messages" dans Microsoft Windows).

Pour obtenir l'identifiant de la fenêtre, utilisez xwininfo.

man xev, man xwininfo.


2
Un [message client] [1] semble être un type d'événement. Le freedesktop [spécification de la barre d'état système] [2] parle spécifiquement d'un "message client x". Dans tous les cas, j'ai la bonne fenêtre, mais xevje ne donne aucune information sur le programme qui envoie quel événement à cette fenêtre, mais son état est définitivement mis à jour par quelque chose. [1]: tronche.com/gui/x/xlib/events/client-communication/… [2]: standards.freedesktop.org/systemtray-spec/…
Shawn J. Goff
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.