Usando xdotool
Primeiro, verifique se xdotool
está disponível no seu sistema:
sudo apt-get install xdotool
O comando a seguir imprimirá o nome do processo da janela em foco no momento:
cat "/proc/$(xdotool getwindowpid "$(xdotool getwindowfocus)")/comm"
Para ter mais tempo para focar a janela / clique nela, você pode preceder uma pequena duração do sono:
sleep 5 && cat "/proc/$(xdotool getwindowpid "$(xdotool getwindowfocus)")/comm"
O nome do processo deve ser exibido após um curto período de tempo.
Usando o wininfo
O Wininfo é um utilitário gráfico que exibe várias informações sobre janelas e suas propriedades, incluindo o PID (ID do processo) associado à janela:
wininfo
deve estar disponível nos repositórios oficiais:
sudo apt-get install wininfo
Tendo determinado o PID da janela, você pode procurar o nome do processo associado a ele. Existem várias maneiras de fazer isso, por exemplo olhando para /proc
:
$ cat /proc/17002/comm
gnome-terminal
Este seria o nome do processo associado ao PID 17002
.
Uma maneira mais elegante que permite inspecionar o contexto da árvore de processos, como sugerido por @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
É claro que você também pode combinar pstree
com a opção xdotool
acima (graças a @ rubo77 por apontar isto!):
sleep 2; pstree -spaul $(xdotool getwindowpid "$(xdotool getwindowfocus)")
Fontes: