Criando um .desktop para o Unigine Heaven 4.0

1

Estou tentando criar um lançador de aplicativos para um programa (unigine heaven), criei um arquivo .desktop que se parece com isso:

[Desktop Entry]
Version=1.0
Name=Unigine Heaven 4.0
Type=Application
Icon=heaven-icon.png
Exec=/home/**redacted**/Unigine_Heaven-4.0/heaven
Terminal=true

Eu fiz o arquivo executável e tentei executá-lo e nada acontece. Se eu entrar no terminal dentro de /home/**redacted**/Unigine_Heaven-4.0/ e executar ./heaven , tudo funciona como deveria, não consigo fazer com que o comando terminal funcione em um arquivo .desktop. Alguma idéia?

Editar: formatação para maior clareza

    
por dvand 22.10.2017 / 07:59

1 resposta

0

Se examinarmos o script executável heaven , veremos que os caminhos internos são relativos:

#!/bin/bash

cd ./bin
ARCH=$(uname -m)
if [ "$ARCH" == x86_64 ]; then
    export LD_LIBRARY_PATH=./x64:$LD_LIBRARY_PATH
    ./browser_x64 -config ../data/launcher/launcher.xml
else
    export LD_LIBRARY_PATH=./x86:$LD_LIBRARY_PATH
    ./browser_x86 -config ../data/launcher/launcher.xml
fi

Portanto, a solução é adicionar o diretório de trabalho ( Path key) ao iniciador (o arquivo .desktop ):

[Desktop Entry]
Version=1.0
Name=Unigine Heaven 4.0
Type=Application
Icon=heaven-icon.png
Path=/home/<user>/Unigine_Heaven-4.0
Exec=/home/<user>/Unigine_Heaven-4.0/heaven
Terminal=false
  • Substitua /home/<user>/Unigine_Heaven-4.0 pelo caminho real em uso.
  • Observe também esta alteração: Terminal=false .

  • A solução fornecida pela @Sans também funciona:

    Exec=sh -c "cd /home/<user>/Unigine_Heaven-4.0/heaven; ./heaven"
    

Referências:

por pa4080 22.10.2017 / 10:45