Descubra o aplicativo sob o mouse

10

Muitas vezes acontece comigo, que um aplicativo faz uma pergunta e eu me pergunto a que aplicativo exato esta janela pertence, porque se eu olhar no Launcher não há nenhum aplicativo que atualmente tenha foco (nenhum triângulo branco no lado direito) do ícone quando focalizar a janela da mensagem)

Existe uma maneira de descobrir a pertença de uma janela aberta?

    
por rubo77 08.08.2014 / 10:29

3 respostas

11

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:

link

link

link

    
por Glutanimate 08.08.2014 / 11:00
2

Você pode criar um atalho de teclado com este comando:

zenity --info --text $(xprop $win_id WM_CLASS | cut -d" " -f4-)
    
por TuKsn 08.08.2014 / 10:59
2

Você pode usar xprop para obter o ID do processo da janela clicada:

xprop $win_id _NET_WM_PID

analise-o com pstree :

pstree -spaul $(xprop $win_id _NET_WM_PID | cut -d" " -f3-)

Isso você pode redirecionar para uma janela de informações de texto com

pstree -spaul $(xprop $win_id _NET_WM_PID | cut -d" " -f3-)|zenity --text-info --title "pstree of clicked Window"

Eu tentei criar um atalho de teclado para este último comando (se você precisar dele regularmente), mas por alguma razão Isso não funciona.

    
por rubo77 15.04.2015 / 08:13