Comportamento diferente quando iniciado a partir do terminal, em vez do lançador Unity

2

Eu escrevi dois programas Perl / Gtk. Quando iniciado a partir do menu dash, eles correm muito bem.

No entanto, se eu tentar iniciá-los pelo terminal usando o mesmo comando encontrado em seus arquivos .desktop, o iniciador do Unity ficará desfocado e permanecerá inativo quando clicado, se eu mantê-lo na barra Unity.

O problema é resolvido se a parte Exec do arquivo da área de trabalho for substituída por

perl path_to_script

No entanto, isso leva a outros problemas, incluindo um aviso de lintian e forçando todos os aplicativos Perl GUI em execução do terminal a adotar o mesmo ativador.

Esse problema é bastante irritante, pois um dos programas depende de um programa diferente (Python) para ser lançado e isso resulta em um lançador desfocado e inativo.

    
por dgkontopoulos 04.09.2012 / 15:17

1 resposta

0

Eu descobri o que estava errado. Eu tive que inserir o StartupWMClass correto no arquivo .desktop.

Para aqueles que estão com dificuldades, inicie o aplicativo a partir do terminal e execute em um terminal diferente o comando

xprop | grep WM_CLASS

Clique no seu aplicativo e a saída do comando anterior será

WM_CLASS(STRING) = "result"

Adicione ao arquivo .desktop a seguinte linha:

StartupWMClass=result

Substitua o resultado pela sua saída.

    
por dgkontopoulos 04.09.2012 / 23:25