Usando xdotool
Primero asegúrese de que xdotool
esté disponible en su sistema:
sudo apt-get install xdotool
El siguiente comando imprimirá el nombre del proceso de la ventana actualmente en foco:
cat "/proc/$(xdotool getwindowpid "$(xdotool getwindowfocus)")/comm"
Para tener más tiempo para enfocar la ventana / hacer clic en ella, puede anteponer una pequeña duración del sueño:
sleep 5 && cat "/proc/$(xdotool getwindowpid "$(xdotool getwindowfocus)")/comm"
El nombre del proceso debe mostrarse después de un corto período de tiempo.
Usando wininfo
Wininfo es una utilidad gráfica que muestra información variada sobre ventanas y sus propiedades, incluido el PID (ID de proceso) asociado a la ventana:
wininfo
debería estar disponible en los repositorios oficiales:
sudo apt-get install wininfo
Una vez determinado el PID de la ventana, puede buscar el nombre del proceso asociado. Hay varias formas de hacer esto, por ejemplo, mirando /proc
:
$ cat /proc/17002/comm
gnome-terminal
Este sería el nombre del proceso asociado con el PID 17002
.
Una forma más elegante que permite inspeccionar el contexto del árbol de procesos, como lo sugiere @Rmano :
$ pstree -a -s -l -p -u 17002
init,1
└─lightdm,1900
└─lightdm,3202 --session-child 12 19
└─lxsession,3307,glutanimate -s LXDE -e LXDE
└─openbox,3362 --config-file /home/glutanimate/.config/openbox/lxde-rc.xml
└─gnome-terminal,17002
├─bash,1841
├─bash,2332
├─bash,2424
│ └─pstree,2484 -a -s -l -p -u 17002
├─gnome-pty-helpe,1840
├─{gnome-terminal},1835
├─{gnome-terminal},1836
├─{gnome-terminal},1842
└─{gnome-terminal},2269
Por supuesto, también puede combinarse pstree
con la xdotool
opción anterior (¡gracias a @ rubo77 por señalar esto!):
sleep 2; pstree -spaul $(xdotool getwindowpid "$(xdotool getwindowfocus)")
Fuentes:
/unix//q/38867/29245
http://www.linuxquestions.org/questions/debian-26/how-to-find-the-process-associated-with-a-top-level-x-window-907125/
/superuser//q/632979/170160
pstree -a -s -l -p -u $PID
cual es bastante agradable ...