O Unity Launcher Icon inicia a versão antiga de um programa do qual não foi criado

2

Antecedentes:

Existe um novo aplicativo XXX, que é distribuído como um arquivo zip. Eu criei um diretório ~/programs/XXX , armazenei o arquivo zip nele e o descompactei. Agora eu tenho um diretório ~/programs/XXX/XXXv.1 e nele o programa xxx e outros.

Eu fiz xxx executável, dubble-clicked no gerenciador de arquivos. Um novo ícone apareceu no iniciador e no programa xxx iniciado. Depois de sair do programa, o ícone ficou no lançador. Consegui reiniciar o programa a partir do ícone.

Após alguns dias uma nova versão do app xxx foi distribuída, peguei o zip, descompactei, peguei o diretório ~/programs/XXX/XXXv.1.1 , nele o programa xxx e outros.

Eu apaguei o ícone do launcher (para programm xxx v.1), iniciei ~/programs/XXX/XXXv.1.1/xxx do gerenciador de arquivos, o ícone apareceu novamente no launcher, a nova versão do iniciado. Depois de sair do programa e relançar o ícone no launcher notei que o ícone recém criou a versão antiga do programa, apesar do ícone ser criado pelo lançamento do programa xxx do diretório da nova versão.

Pergunta:

Como fazer o ícone do lançador apontar para o programa no diretório da nova versão, de onde o ícone foi criado?

Investigação adicional:

Após renomear o nome do programa no diretório da versão antiga, o ícone recém-criado não pode iniciar o programa. Então, na verdade, o ícone recém-criado da versão mais recente do programa aponta para a versão antiga do programa.

Deve haver um arquivo de configuração oculto com um ponteiro para o antigo executável, que não é excluído, quando o ícone para a versão antiga for excluído.

Quando a nova versão do programa é iniciada, um ícone para a nova versão é criado, a nova versão do programa é iniciada, mas ao reiniciar a partir do ícone, a versão antiga do programa é iniciada.

O que é esse arquivo de configuração oculto do ícone do lançador e como alterar o arquivo de programa para o qual ele aponta?

    
por Kpacnaja_Shapotshka 11.02.2017 / 15:35

1 resposta

4

Para começar, corrija!

  1. Abra ~/.local/share/applications em nautilus . O diretório ~/.local é um diretório oculto em sua pasta pessoal. Pressione Ctrl + H (no nautilus) para torná-lo visível.
  2. Procure o lançador do seu aplicativo, exclua-o.
  3. Abra a nova versão do seu aplicativo, bloqueie-a no inicializador.

Você terminou.

Explicação; o que aconteceu

  1. Você lançou a primeira versão do seu aplicativo e a bloqueou no inicializador. Isso faz com que Unity crie um ativador em ~/.local/share/applications ou, em alguns casos, aplicativos crie um ativador na primeira execução.
  2. Você instalou uma nova versão e a executou. Não havia nenhuma nova versão do lançador criada no entanto, já que o aplicativo ou o Unity notou que o inicializador já parecia existir. Este lançador existente, no entanto, aponta para a versão antiga.

Daí a questão.

    
por Jacob Vlijm 11.02.2017 / 17:06