Я пытаюсь создать приложение для запуска программы (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. Любые идеи?
Изменить: форматирование для ясности
Если мы рассмотрим исполняемый скрипт 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"
Ссылки:
Замените /home/<user>/Unigine_Heaven-4.0 фактическим используемым путем. [ ! d3] Распознанные дескрипторы рабочего столаЕсли мы рассмотрим исполняемый скрипт 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"
Ссылки:
Замените /home/<user>/Unigine_Heaven-4.0 фактическим используемым путем. [ ! d3] Распознанные дескрипторы рабочего столаЕсли мы рассмотрим исполняемый скрипт 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"
Ссылки:
Замените /home/<user>/Unigine_Heaven-4.0 фактическим используемым путем. [ ! d3] Распознанные дескрипторы рабочего стола