Скрипт оболочки не открывается как настольное приложение

У меня есть сценарий оболочки, который является винной командой, чтобы открыть файл.exe, который выглядит следующим образом:

#!/bin/bash
wine wow.exe -opengl

Его единственная цель - запустить этот файл.exe. Это работает, если я просто дважды щелкну скрипт. Расположение скрипта такое же, как и у файла.exe. Я хочу иметь настольное приложение, то есть значок, который я могу прикрепить к своей док-станции, который выполняет этот сценарий оболочки. Файл моего настольного приложения выглядит так:

[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

Я могу успешно прикрепить приложение к своей док-станции, значок даже появляется, но когда я щелкаю по приложению, ничего не происходит, курсор застревает в бесконечном значке загрузки. Я что-то пропустил?

1 ответ

Решение

Чтобы убедиться, что скрипт ищет исполняемый файл в нужном каталоге, вы можете изменить вызов на

wine "$(realpath "$(dirname "$0")")/wow.exe" -opengl

Это вставит абсолютный путь скрипта (и, следовательно, exe) в вызов. Это будет работать без кавычек для путей, которые не содержат пробелов, но я рекомендую сохранить их на случай, если вы переместите каталог.

Другие вопросы по тегам