Есть ли способ установить переменную окружения в файле .desktop? Я пытаюсь запустить приложение (eclipse) с пользовательским стилем gtk, поэтому в основном я хочу получить следующий результат, запустив файл .desktop:
GTK2_RC_FILES=gtkrc.custom /path/to/eclipse
Я попытался поместить его в скрипт bash и запустить из файла .desktop, но тогда он плохо интегрируется с модулем запуска Unity.
unity
launcher
environment-variables
dotintegral
источник
источник
$HOME
? Ни то,Exec=env MYVAR="$HOME/foo"
ни другое неExec=env MYVAR="~/foo"
расширяется. Вместо этого они передаются буквально.Альтернатива для изменения
.desktop
файла - поместить скрипт-обертку, например, в~/bin
.Таким образом, настройка не будет перезаписана при следующем обновлении пакета приложения.
Редактировать:
Подсказку о том, почему это работает, вы можете увидеть, проверив, что
PATH
содержит переменная. В моем случае:~/bin
является первой папкой в списке и, таким образом, рассматривается ранее/usr/bin
.источник
.desktop
файла, принадлежащего пакету .~/bin
поможет с этим..desktop
Файл, принадлежащий пакету, никогда не увидит эту оболочку! Вы должны также использоватьupdate-alternatives
.desktop
файл не должен «видеть» оболочку. Он просто выполняетсяeclipse
, а из-PATH
за обертки выбирается вместо/usr/bin/eclipse
. Я отредактировал ответ, чтобы уточнить.