回答:
システム全体で環境変数を定義する従来の場所は/etc/profile
です。このファイルは、ローカル(テキストモードコンソール上)またはリモート(ssh経由)のいずれかでテキストモードセッションにログインすると、Bourneスタイルのシェル(bash、ksh、ashを含む)によって読み取られます。グラフィカル環境でログインした場合/etc/profile
、ログインマネージャー、デスクトップ環境、オペレーティングシステムのディストリビューションによっては、読み取られる場合と読み取られない場合があります。
システムで使用できる場合は、環境変数をで定義することをお勧めします/etc/environment
。このファイルはPAMによって、特にpam_env
モジュールによって読み取られます。これらの変数は、PAMを使用しpam_env
、/etc/pam.conf
またはで参照されるモジュールを持つログインメソッドによって開始されたすべてのセッションで使用できます/etc/pam.d/$method
。
おそらく100%信頼できる方法ではありませんが、これをに追加するのが最も簡単/etc/bashrc
です。
個々のユーザーはを処理しないように設定できるため、信頼性は高くありません/etc/bashrc
。
より複雑な方法を使いたい場合は、それを設定するラッパーを作成できます。最初にに名前pkg-config
を変更してからpkg-config-real
、pkg-config
変数を設定するという名前の新しいスクリプトを作成します。
(ルートとして、またはsudoを使用)
cd /usr/bin
mv pkg-config pkg-config-real
次に、/ usr / bin / pkg-configに次の内容の新しいファイルを作成します。
#!/bin/bash
export PKG_CONFIG_PATH=/usr/lib:/usr/local/lib
pkg-config-real $*
必ず実行可能にしてください。
chmod 755 pkg-config
/etc/bashrc
は適切な場所ではありません。.bashrcと.bash_profileの違いを参照してください。でファイルを変更することはお勧めしません/usr/bin
。そこから作成/usr/local/bin/pkg-config
して呼び出す方がよいでしょう/usr/bin/pkg-config
。スクリプトでは"$@"
、ではなくを使用する必要があります$*
。さらなる改善:#!/bin/sh
およびexec pkg-config-real
。