После еще нескольких исследований, насколько я вижу, не представляется возможным указать относительные пути для значка в файле ввода на рабочем столе.
Обходной путь, который я использовал, заключался в добавлении следующего кода в конец моего скрипта launcher.sh:
mv myapp.desktop myapp.desktop-bak
sed -e "s,Icon=.*,Icon=$PWD/app.svg,g" myapp.desktop-bak > myapp.desktop
rm myapp.desktop-bak
Это будет обновлять путь к значку при каждом запуске сценария запуска, а поскольку файл .desktop указывает на сценарий запуска, щелчок по файлу .desktop эффективно обновляет его значок.
Я знаю, что вы можете использовать cat
или параметр -i для сокращения приведенного выше кода, но я читал, что решение, которое я использовал, более надежно. Если у кого-то есть дополнительная информация по этому вопросу, пожалуйста, оставьте комментарий.