特定应用环境

特定应用环境

是否可以仅为给定应用程序指定环境变量?这样当应用程序启动时,环境变量就会自动设置('VAR=VALUE myapp' 不是我想要的)。

实际问题是,我希望 wine 始终以特定的 LC_ALL 设置启动,但不想全局更改 LC_ALL。有很多地方可以启动 wine(终端、gnome 文件关联、菜单快捷方式),在所有这些地方手动设置 LC_ALL 似乎太繁琐了。

答案1

另一种可能性是改变你的 PATH 以便例如/usr/local/bin首先出现,然后创建一个/usr/local/bin/wine像这样:

 #!/bin/sh

 export FOO=bar

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

我不知道这些“gnome 文件关联”和“菜单快捷方式”是如何工作的。如果他们硬编码完整路径而不是依赖$PATH这个解决方案将无法工作。

答案2

你可以做这样的事情:

将主要的 wine 二进制文件从wine重命名为wine.real。创建一个脚本来代替 wine 二进制文件,如下所示。

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

答案3

您还可以创建别名,这样您就不需要更改软件管理器管理的内容。例如,在您的 ~/.bash_profile 中

 alias wine='FOO=bar; \wine'

防止\抑制别名扩展以防止无限递归。

编辑:此解决方案在您提到的所有情况下都不起作用。

相关内容