Dobrov |
|
Темы:
15
Сообщения:
142
Участник с: 03 ноября 2017
|
Как известно, в .desktop-ярлыке необходим полный путь в Exec= для приложения, которое отсутствует в $PATH Для портабельных приложений есть типичный способ запуска из любого каталога: Name=Double Commander (portable) Exec=bash -c 'cd "$(dirname "%k")"; ./doublecmd --config-dir=./' Предлагаю ещё 2 способа выполнить скрипт, который «вложен» в .desktop-ярлык либо расположен рядом: # создать из .desktop файла скрипт /tmp/имя_ярлыка.sh, содержащий строки после #!/bin/bash Exec=bash -c "desk=\\$(echo %k); sh=/tmp/\\$(basename \\${desk// /_} .desktop).sh; sed '/^#!\\/bin\\/bash/,\\$!d;s/^# //' \\"\\$desk\\" >\\$sh; sh \\$sh %F" #список Drag-n Drop файлов# запустить одноимённый ярлыку скрипт, т.е. путь/имя ярлыка.sh Exec=bash -c "desk=\\$(echo %k); sh=\\"\\${desk%.desktop}.sh\\"; test -s \\"\\$sh\\" && sh \\"\\$sh\\" || Xdialog –title Script –infobox \\"Скрипт вернул код Ошибки \\$? или \nодноимённый ярлыку скрипт не найден!\\" 0x0 5000"P.S. bash-код в ярлыке можно не комментировать, если у вас KDE, который обрабатывает в .desktop только валидные строки. Некоторые окружения Рабочего стола (XFCE и видимо весь Gnome) некорректно запускают .desktop-файлы, выполняя строки, не соответствущие спецификации. То есть, используя 1 способ, имеем только .desktop-ярлык, который может содержать сложный скрипт. Потестируйте, может в этом способе есть недостатки? Скрипт для тестирования:
|