Для поля Exec
я предполагаю, что причина в том, что не очевидно, какой путь следует использовать в качестве базы. Например, вы ожидаете относительности к местоположению файла *.desktop
, но я ожидаю относительности к значению Path
. И эта двусмысленность может привести к ошибкам. Кроме того, Path
не является обязательным полем, поэтому становится сложнее, что должно произойти, когда Exec
получил относительный путь, а Path
не определен. Более удобно вообще не поддерживать относительные пути и ожидать только абсолютные пути и двоичные файлы в каталогах %PATH%
.
За Icon
поле трактуется по-своему:
Icon to display in file manager, menus, etc. If the name is an absolute path, the given file will be used. If the name is not an absolute path, the algorithm described in the Icon Theme Specification will be used to locate the icon.
Между прочим, они (standards.freedesktop.org)не говорят о поддержке относительных путей, но на самом деле кажется, что *.desktop
файлы поддерживают это.
Если вы напишете ./
перед именем файла -, исполняемый файл будет запущен в папке Path
.
[Desktop Entry]
Name=TheApp
Type=Application
Path=/usr/lib/TheApp
Exec=./TheAppExecutable