回答:
私はついに#upstart
IRCチャンネルで答えを得ました。ある時点で、upstartは適切なPAMサポートを取得し、/etc/environment
それ自体を読み取ります。それまでは、suでコマンドを実行するのがコツです。su
PAMを使用し、適切な環境をセットアップします。例:
script
exec su root -c /usr/sbin/job_needing_envs
end script
su: must be run from a terminal
これをスクリプトに追加します。
. /etc/environment
export VAR1 VAR2 VAR3
ここで、必要な変数は「VAR1」スタイルのプレースホルダーの代わりに指定されます。
/etc/environment
必要な変数をすべて定義するために使用するつもりはありません。静的ファイルのままにしておきます。私のシステムでは、とにかくそれを使用する少数のスクリプトしか見つかりませんでした。次のようなファイルを作成し、/etc/environment.local
変数とエクスポートをそこに入れて、そのファイルを入手します。次に、その1つのファイルを維持するだけです。