Usando xdotool
Innanzitutto assicurati che xdotool
sia disponibile sul tuo sistema:
sudo apt-get install xdotool
Il comando seguente stamperà il nome del processo della finestra attualmente attiva:
cat "/proc/$(xdotool getwindowpid "$(xdotool getwindowfocus)")/comm"
Per concederti più tempo per focalizzare la finestra / fare clic su di essa puoi anteporre una breve durata del sonno:
sleep 5 && cat "/proc/$(xdotool getwindowpid "$(xdotool getwindowfocus)")/comm"
Il nome del processo dovrebbe essere visualizzato dopo un breve periodo di tempo.
Utilizzando wininfo
Wininfo è un'utilità grafica che visualizza varie informazioni su Windows e le loro proprietà, incluso il PID (ID processo) associato alla finestra:
wininfo
dovrebbe essere disponibile nei repository ufficiali:
sudo apt-get install wininfo
Dopo aver determinato il PID della finestra, è quindi possibile cercare il nome del processo ad esso associato. Esistono vari modi per farlo, ad esempio guardando /proc
:
$ cat /proc/17002/comm
gnome-terminal
Questo sarebbe il nome del processo associato al PID 17002
.
Un modo più elegante che consente di ispezionare il contesto dell'albero dei processi, come suggerito da @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
Naturalmente puoi anche combinare pstree
con l' xdotool
opzione sopra (grazie a @ rubo77 per averlo sottolineato!):
sleep 2; pstree -spaul $(xdotool getwindowpid "$(xdotool getwindowfocus)")
fonti:
/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
piuttosto piacevole ...