Estou tendo um problema com alguns programas que possuem lançadores em unidade, mas depois criam um ícone separado após o lançamento. É possível que o iniciador rastreie as janelas que gera para organizar melhor? Ou isso é um bug no próprio Unity?
Pode não importar, mas esse programa específico é mono e o ícone gerado é listado como painel.
StartupWMClass
propriedade no lançador de desktop do aplicativo: askubuntu.com/questions/36434/...Respostas:
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:
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: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 dadoName
eIcon
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.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:
Exec
caminho é um link simbólico em vez de um arquivo regularNesses 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.
fonte
.desktop
arquivos para o mesmo aplicativo em~/.local/share/applications/
e/usr/share/applications/
. O primeiro arquivo substitui o segundo, mesmo que o ícone não esteja especificado nele.A janela pode ser correspondida apenas ao aplicativo se a propriedade WM_CLASS tiver sido definida. Para fazer isso no X11, você usa:
Você precisa passar um ponteiro para uma estrutura XClassHint com os campos 'res_name' e 'res_class'.
fonte
Eu tive alguns problemas com o 16.04, incluindo os ícones acinzentados e, às vezes, o touchpad ficava irregular (Acer V15 nitro) e o centro de software (talvez outros ícones também) não abria no ícone (apenas em um comando do terminal). Encontrei uma recomendação em algum lugar para desinstalar e reinstalar o software gnome. Desde que eu fiz isso, todo o sistema ficou 100% estável, sem mais ícones acinzentados e funciona perfeitamente. Parecia assustador inicialmente quando reinicializei após essa alteração - muitas mensagens do sistema durante a reinicialização - faça-o por sua conta e risco.
fonte