En una batalla constante contra un icono feo , descubrí que las aplicaciones pueden comunicarse con la bandeja del sistema enviando mensajes de cliente X. ¿Hay alguna utilidad para espiar estos mensajes?
Ejecute la aplicación bajo xtrace . Registrará todas las comunicaciones entre la aplicación y el servidor X, incluido el comando para enviar o recibir un mensaje de cliente X.
Eso es algo de lo que estoy tratando de resolver: ¿qué aplicación está poniendo eso allí? Tengo el nombre de clase de la ventana de clase: gnome-power-managerpero no hay ninguna aplicación llamada así. No hay nada que coincida con " poder " corriendo como un demonio.
Shawn J. Goff
1
@ ShawnJ.Goff Rastree el lado del servidor, es decir, la bandeja del sistema.
Gilles 'SO- deja de ser malvado'
Ah, y ¿estás seguro de que la comunicación es a través de eventos de ventana y no a través de dbus?
Gilles 'SO- deja de ser malvado'
1
@ ShawnJ.Goff gnome-power-manageres hoy en día parte degnome-settings-daemon
Ulrich Dangel
3
Mando
xev -id WINDOW_ID
imprimirá X11 "eventos de ventana". En X11, estas cosas se llaman "eventos". (A diferencia de los "mensajes" en Microsoft Windows).
Para obtener la identificación de la ventana, use xwininfo.
Un [mensaje del cliente] [1] parece ser un tipo de evento. El freedesktop [especificación de la bandeja del sistema] [2] habla específicamente sobre un "mensaje de cliente x". En cualquier caso, tengo la ventana correcta, pero xevno estoy dando ninguna información sobre qué programa está enviando qué evento a esa ventana, pero su estado definitivamente se está actualizando por algo. [1]: tronche.com/gui/x/xlib/events/client-communication/… [2]: standards.freedesktop.org/systemtray-spec/…
gnome-power-manager
pero no hay ninguna aplicación llamada así. No hay nada que coincida con " poder " corriendo como un demonio.gnome-power-manager
es hoy en día parte degnome-settings-daemon
Mando
imprimirá X11 "eventos de ventana". En X11, estas cosas se llaman "eventos". (A diferencia de los "mensajes" en Microsoft Windows).
Para obtener la identificación de la ventana, use xwininfo.
man xev, man xwininfo.
fuente
xev
no estoy dando ninguna información sobre qué programa está enviando qué evento a esa ventana, pero su estado definitivamente se está actualizando por algo. [1]: tronche.com/gui/x/xlib/events/client-communication/… [2]: standards.freedesktop.org/systemtray-spec/…