为 Unigine Heaven 4.0 创建 .desktop

为 Unigine Heaven 4.0 创建 .desktop

我正在尝试为一个程序(unigine heaven)创建一个应用程序启动器,我创建了一个如下所示的.desktop 文件:

[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

我已将文件设为可执行文件,并尝试运行它,但什么也没发生。如果我进入终端内部/home/**redacted**/Unigine_Heaven-4.0/并运行./heaven,一切都会正常进行,我只是无法让该终端命令在 .desktop 文件中运行。有什么想法吗?

编辑:格式化以提高清晰度

答案1

如果我们检查可执行脚本,heaven我们会看到里面的路径是相对的:

#!/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

因此解决方案是将工作目录(Path键)添加到启动器(文件.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
  • 替换/home/<user>/Unigine_Heaven-4.0为实际使用的路径。
  • 还请注意这一变化:Terminal=false

  • @Sans 提供的解决方案也有效:

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

参考:

相关内容