Shell 脚本未作为桌面应用程序打开

6 wine scripts executable .desktop ubuntu-dock

我有一个 shell 脚本,它是一个打开 .exe 文件的 wine 命令,如下所示:

#!/bin/bash
wine wow.exe -opengl
Run Code Online (Sandbox Code Playgroud)

它的唯一目的是运行该 .exe 文件。如果我只是双击脚本,它就可以工作。脚本的位置与 .exe 文件相同。我想要的是有一个桌面应用程序,即我可以固定到我的码头的图标,它执行这个 shell 脚本。我的桌面应用程序文件如下所示:

[Desktop Entry]
Comment=WoW
Exec=/home/siegmeyer/Documents/WoW/WoW.sh
Icon=/home/siegmeyer/Documents/WoW/WoW.png
Terminal=false
Type=Application
StartupNotify=false
Name[en_US]=WoW
Run Code Online (Sandbox Code Playgroud)

我可以成功地将应用程序固定到我的 Dock,图标甚至显示出来,但是当我单击应用程序时,没有任何反应,光标卡在无限加载图标中。我错过了什么吗?

Mur*_*phy 7

为了确保脚本在正确的目录中寻找可执行文件,您可以将调用更改为

wine "$(realpath "$(dirname "$0")")/wow.exe" -opengl
Run Code Online (Sandbox Code Playgroud)

这会将脚本(以及 exe)的绝对路径插入到调用中。对于不包含空格的路径,它可以在没有引号的情况下工作,但我建议保留它们以防您移动目录。