O que está acontecendo
Problemas como este estão relacionados à estrutura de correspondência de aplicativos do Unity. Para simplificar os detalhes técnicos, janelas e aplicativos de programas são duas coisas separadas para o Ubuntu. O Ubuntu precisa 'adivinhar' qual aplicativo possui uma janela específica. E às vezes esse palpite falha e um ponto de interrogação aparece no iniciador.
A falha pode ser devido a:
- Um erro no BAMF (a estrutura de correspondência de aplicativos mencionada acima).
- Uma descrição incorreta do aplicativo (também conhecido como arquivo '.desktop').
- A falta de qualquer descrição do aplicativo. Os executáveis que iniciam janelas não possuem esses metadados.
O aplicativo mostrado na pergunta (KeePass2) sofre de um problema do tipo 1 que foi relatado ao rastreador de erros apropriado .
Exemplos de problemas
Os exemplos abaixo são técnicos, destinados a programadores que desejam que seu próprio aplicativo seja exibido corretamente no iniciador do Ubuntu.
Problema 3 - Nenhuma descrição do aplicativo
Para que um aplicativo se integre ao Unity - ou seja, seja pesquisável no Dash e colocado no iniciador - ele precisa ter uma entrada na área de trabalho. Essas entradas são colocados no /usr/share/applications/
, /usr/local/share/applications/
e $HOME/.local/share/applications/
(os dois últimos sendo por software de terceiros, em todo o sistema e de utilizador somente respectivamente). Eles terminam com uma .desktop
extensão e seguem este formato básico:
[Desktop Entry]
Type=Application
Name=My Application's Name
Icon=/file/path/of/my/icon
Exec=/file/path/of/my/executable
Esta entrada inicia um programa chamando o Exec
executável. Sempre que esse programa exibir uma janela ou caixa de diálogo, o Unity notará que seu executável "pertence" a esta descrição do aplicativo e usará o dado Name
e Icon
o iniciador.
Este é um exemplo de barebones. A especificação formal abrange muitos recursos avançados.
Problema 2 - Descrição incorreta do aplicativo
Vamos supor que my_app.desktop
exista em um diretório de aplicativo válido, mas:
/file/path/of/my/icon
não existe no sistema de arquivos.
/file/path/of/my/icon
não é uma imagem.
- a entrada usa sintaxe incorreta ou tags inválidas.
Em qualquer um dos casos acima, o Ubuntu não conseguirá listar corretamente a janela do aplicativo no iniciador.
Problema 1 - Um bug no BAMF
No Ubuntu 11.10, o BAMF possui vários bugs que impedem a correspondência correta de aplicativos. As armadilhas comuns (temporárias) incluem:
- O
Exec
caminho é um link simbólico em vez de um arquivo regular
- O executável é um script que inicia o executável principal.
Nesses casos, os programadores não têm opção a não ser usar uma solução alternativa, como remover a abstração do link simbólico ou vincular diretamente ao executável. Nenhum deles é exigido pela própria especificação de entrada da área de trabalho.