Почему скрипт, запущенный через ярлык Linux не запускает программу?

У меня есть два файла. Первый - это sh скрипт со следующим содержанием:

#!/bin/bash
echo "Запускаем программу PRO100 под wine."
wine PRO100.exe

Данный файл валяется в папке с программой и если запустить его прямо оттуда, то он прекрасно выполняет последнюю строку, то есть, я получаю то что хочу. Однако, если вызвать его при помощи ярлыка pro100.desktop, расположенного в /usr/share/applications:

[Desktop Entry]
Type=Application
Name=PRO100
Keywords=Pro100;graphic;design;3D;
Exec=sh /home/tryum/PRO100/start.sh
Icon=/home/tryum/PRO100/pro100.ico
Terminal=true
Categories=Graphics;3DGraphics;

...то выполняется только echo, 2-я строка из sh скрипта. Может, кто-нибудь подскажет, почему? И как сделать, чтобы скрипт в итоге все-таки запустил мою программу через wine?


Ответы (2 шт):

Автор решения: KoVadim

Просто пропишите полный путь к своей программе. Где то так

#!/bin/bash
echo "Запускаем программу PRO100 под wine."
wine /home/tryum/PRO100/PRO100.exe

и все должно работать. Просто когда Вы запускаете через ярлык, то текущий каталог совсем другой, не тот который Вы ожидаете. И там нет файла PRO100.exe

→ Ссылка
Автор решения: Rabban Keyak

добавьте cd $(dirname "$0") второй строкой.

→ Ссылка