Identificar pacote por janela?

Identificar pacote por janela?

Às vezes encontro pequenos bugs em caixas de diálogo ou janelas. Por exemplo, encontrei um pequeno bug na caixa de diálogo de preferências de som. Pensei em relatar isso, mas não era óbvio qual pacote fornece o diálogo.

Existe uma ferramenta simples para fazer isso? Eu imaginaria algo como xwininfo; você executa o comando, o ponteiro do mouse muda e quando você clica em uma janela, o comando retorna o nome do pacote. Com tal comando, seria fácil expandi-lo para coletar informações de versão, distribuir e abrir o rastreador de bugs na página certa.

Costumávamos ter Ajuda > Relatar um problema, mas como o Gnome Control Center não usa menus, essa opção não está disponível. Isto, é claro, seria verdade para todas as janelas que não usam menus. Então; existe uma alternativa?

Responder1

Abra um terminal ( ctrl- alt- t) e digite

ubuntu-bug -w

uma mensagem aparecerá instruindo você a clicar em uma janela para enviar um relatório de bug sobre o aplicativo que possui essa janela.

Aliás, isso usa o apport, que coleta automaticamente muitas informações úteis de depuração e é a forma preferida de relatar bugs do Ubuntu.

Responder2

A resposta do roadmr acima é de longe o melhor caminho a percorrer, mas eu queria ver se conseguia criar uma linha única do bash que reportasse o pacote fonte correto. É ainda mais confuso do que eu imaginava, já que aparentemente você não consegue canalizar para dpkgor which.

dpkg -S $(which $(xprop | grep "WM_CLASS(STRING)" | grep -o "\".*\"" | cut -d "," -f 1 | tr -d '""')) | cut -d ":" -f 1

Vamos descompactar isso um pouco. Os grepe cutoutras coisas estão simplesmente procurando e manipulando strings. As coisas interessantes são:

  • xprop- Permite descobrir informações sobre a janela em que você clica.

  • which- Retorna o caminho completo do comando utilizado. Exemplo:

    $ which  gnome-control-center
    /usr/bin/gnome-control-center
    
  • dpkg -S- Dado um arquivo, fornece o nome do pacote fonte de onde ele vem. Muito útil quando o nome do binário e o nome do pacote fonte são diferentes. Exemplo:

    $ dpkg -S /usr/bin/orca
    gnome-orca: /usr/bin/orca
    

informação relacionada