Назад | Перейти на главную страницу

Среда для конкретного приложения

Можно ли указать переменные среды только для данного приложения? Таким образом, переменные среды устанавливаются автоматически при запуске приложения («VAR = VALUE myapp» - это не то, что мне нужно).

Фактическая проблема в том, что я хочу, чтобы вино всегда начиналось с определенной настройки LC_ALL, но не хочу изменять LC_ALL глобально. Есть много мест, где можно запустить Wine (терминал, ассоциации файлов gnome, ярлыки меню), и ручная установка LC_ALL во всех этих случаях кажется слишком утомительной.

Другая возможность - изменить ваш PATH, например, /usr/local/bin приходит первым, а затем создайте /usr/local/bin/wine вот так:

 #!/bin/sh

 export FOO=bar

 /usr/local/bin/wine "$@"

Я не знаю, как работают эти "ассоциации файлов gnome" и "ярлыки меню". Если они жестко закодируют полный путь, а не полагаются на $PATH это сол не будет работать.

Вы можете сделать что-то вроде этого:

Переименуйте основной двоичный файл Wine из wine к wine.real. Создайте сценарий вместо двоичного файла Wine, который выглядит примерно так.

#!/bin/bash
FOO=bar
export foo
wine.real $* &

Вы также можете создать псевдоним, чтобы вам не нужно было менять что-то, чем управляет ваш менеджер программного обеспечения. Например, в вашем ~ / .bash_profile

 alias wine='FOO=bar; \wine'

В \ предотвращает подавление расширения псевдонима для предотвращения бесконечной рекурсии.

Изменить: это решение не будет работать во всех упомянутых вами ситуациях.