Как я могу шпионить за сообщениями клиента X?

Ответы:

8

Запустите приложение под xtrace . Он будет регистрировать все коммуникации между приложением и X-сервером, включая команду для отправки или получения сообщения X-клиента.

xtrace myapp
Жиль "ТАК - перестань быть злым"
источник
Это то, что я пытаюсь решить - какое приложение помещает это туда? У меня есть имя класса окна класса:, gnome-power-managerно нет приложения с таким названием. Ничто не соответствует « силе », работающему как демон.
Шон Дж. Гофф
1
@ ShawnJ.Goff Трассировка на стороне сервера, то есть в системном трее.
Жиль "ТАК - перестань быть злым"
О, и вы уверены, что общение происходит через оконные события, а не через dbus?
Жиль "ТАК - перестань быть злым"
1
@ ShawnJ.Goff в gnome-power-managerнастоящее время является частьюgnome-settings-daemon
Ульрих Дангел
3

команда

    xev -id WINDOW_ID

напечатает X11 "события окна". В X11 эти вещи называются «событиями». (В отличие от «сообщений» в Microsoft Windows).

Чтобы получить идентификатор окна, используйте xwininfo.

man xev, man xwininfo.

Андрей
источник
2
[Сообщение клиента] [1] представляется типом события. В freedesktop [спецификация системного трея] [2] конкретно говорится о «x сообщении клиента». В любом случае у меня есть правильное окно, но я xevне даю никакой информации о том, какая программа отправляет какое событие этому окну, но его состояние определенно обновляется чем-то. [1]: tronche.com/gui/x/xlib/events/client-communication/… [2]: standard.freedesktop.org/systemtray-spec/…
Шон Дж. Гофф,