Как получить доступ к переменной окружения в строке exec файла .desktop? - PullRequest
11 голосов
/ 24 января 2012

Для моей программы требуется переменная окружения как часть одного из ее параметров:

myprogram --folder=$HOME/.special

Однако, если я добавлю это в строку exec файла .desktop, это не сработает:

Exec=myprogram --folder=$HOME/.special

$ HOME, похоже, ничего не решает.

1 Ответ

23 голосов
/ 24 января 2012

По умолчанию переменные среды не разрешаются всеми реализациями, однако вместо этого вы можете выполнить exec sh, который разрешит переданную переменную среды. Обратите внимание, что спецификация рабочего стола также требует от вас экранирования символов = и $ обратной косой чертой. Итак, вы хотите:

Exec=sh -c "myprogram --folder\=\$HOME/.special"

Полный список символов, которые необходимо экранировать, см. В спецификации

...