criando um atalho em uma pasta no Ubuntu 14.04

0

Alterou alguns nomes para serem mais precisos.

Eu tenho um aplicativo que posso rodar no terminal. O aplicativo existe em uma pasta no meu diretório pessoal chamado ZereneStacker. O nome do aplicativo também é ZereneStacker. No momento, eu só sei como executá-lo no terminal e faço isso assim.

cd ZereneStacker
./ZereneStacker.bsh

Funciona bem desta maneira.

Eu criei um arquivo .desktop em /usr/share/applications e nomeei-o como zerene.desktop . Tornei isso executável. Aqui está o conteúdo de zerene.desktop :

[Desktop Entry]
Version=1.0
Name=Zerene Focus Stacker
Comment=Focus Stacker
GenericName=Focus Stacker
Exec=./ZereneStacker.bsh
Path=~/ZereneStacker
Terminal=false
Type=Application
Categories=Photography
StartupNotify=true

Eu roubei a maior parte disso de outro arquivo .desktop . Quando tento clicar no ícone em /usr/share/applications , aparece "Ocorreu um erro ao iniciar esta aplicação". Desde que eu sei que carrega bem quando eu faço isso formar a linha de comando do terminal, conforme descrito acima, eu sei que o problema é com o que eu fiz e não o programa.

Desculpe, tentei ser genérico na mensagem original para "simplificar" apenas para ter esse efeito contrário em mim agora.

    
por Charlie RC 02.08.2016 / 00:10

1 resposta

1

As Path key de um arquivo de entrada da área de trabalho não executa expansão do til ou qualquer outra forma de expansão do shell. Você precisa especificar um caminho absoluto que será interpretado literalmente até o próximo caractere de quebra de linha, e. g .:

Path=/home/charlie/ZereneStacker

Isso é provavelmente o que você deseja porque o diretório do aplicativo está apenas no diretório inicial, não no diretório inicial de todos os usuários. Pela mesma razão, também pode fazer mais sentido colocar o arquivo de entrada da área de trabalho em ~/.local/share/applications , porque é onde residem as entradas da área de trabalho específicas do usuário (em vez das localizações /usr/share/applications e /usr/local/share/applications ).

Como alternativa, você pode remover a tecla Path de invocar um shell da chave Exec e fazer com que ela expanda o til:

Exec=/bin/sh -c "cd ~/ZereneStacker && exec ./ZereneStacker.bsh"
    
por David Foerster 03.08.2016 / 12:08