
Я создал .desktop
файл для запуска нашего приложения. Наше приложение требует, чтобы определенная переменная среды была настроена правильно. Где я могу настроить эту переменную среды на основе пользователя (обычные кандидаты, которые я знаю, люблю ~/.bashrc
и ~/.profile
не работаю).
Может быть, есть обходной путь, чтобы я мог настроить это в Exec=
строке файла .desktop
перед запуском приложения?
решение1
В самом файле рабочего стола вы можете запустить программу через env
:
Exec=/usr/bin/env VAR=value /usr/bin/yourprogram
В качестве альтернативы можно использовать скрипт-оболочку (например /usr/bin/yourprogram.env
):
#!/bin/sh
VAR=value
export VAR
exec /usr/bin/yourprogram.real "$@"
Однако оба решения являются плохими, поскольку Unity не сможет корректно отслеживать программу, если она запущена через оболочку.
Было бы гораздо лучше приступить к ~/.profile
работе — убедитесь, что вы используете правильный синтаксис и все такое:
export VAR=value
или
VAR=value
export VAR
Также помните, что ~/.profile
это только чтениекогда вы входите в систему, поэтому после его изменения вам придется выйти из системы.