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: