Problema: una aplicación ha lanzado una ventana en tu escritorio, pero no sabes exactamente qué aplicación es «la culpable».
Solución: desde una terminal, lanzamos el comando
$ xwininfo |
Nos dará un ID de ventana. Por ejemplo, en mi caso, el 0x3e00004.
Pedimos ahora las propiedades de ese ID y, más en concreto, el identificador del proceso al que pertenece:
$ xprop -id 0x3e00004 _NET_WM_PID _NET_WM_PID(CARDINAL) = 3189 |
Bien, sólo nos queda pedir una lista de procesos y filtrar por el PID que acabamos de obtener:
$ ps auxww| grep 3189 juanan 3189 0.0 0.4 494700 16396 ? Sl 12:52 0:00 update-notifier |
Ajá! update-notifier es el culpable…
No conocía este truco, es sencillo pero me parece muy útil. Me he hecho un pequeño script para automatizarlo un poco, lo dejo aquí por si a alguien le sirve:
#!/bin/bash
id_ventana=`xwininfo | grep «Window id:» | cut -d»:» -f 3 | cut -d» » -f 2`
id_proceso=`xprop -id «$id_ventana» _NET_WM_PID | cut -d»=» -f 2 | tr -d » «`
ps –pid «$id_proceso» -o user,group,pid,cmd
Como los caracteres del script no se copian bien, lo he puesto en pastebin:
http://pastebin.com/uT9EFBVH
Saludos.
Gracias @Aleix!