答え1
ユーザーインターフェイスを介してユーザーアプリケーションの環境変数を設定する方法は、WindowsとLinuxで異なります。使用するWindowsインターフェイスは、現在のセッションと将来のセッションで変数の値を変更します。
Linuxでは、環境変数を設定する従来の方法がログイン時に機能します。これにはさまざまな方法がありますが、ログイン時にのみ読み取るファイルを変更する方法があります。したがって、現在のセッションには適用できません。これに使用できる既定のファイルはおよびであり、両方.profile
とも.pam_environment
ホームディレクトリにあります。環境変数を設定するための最良の distro/shell 独立した方法は何ですか?より詳細な議論のために。
現在のセッションの環境変数を設定するには、アプリケーションを起動するプロセスであるGUIシェルで設定する必要があります。実際のGUIシェルオプションがないため、Windowsでは簡単です。 (技術的にはデフォルトのシェルを置き換えることは可能ですが、これを行うユーザーはほとんどいません。)Linuxには何百もの可能なGUIシェルがあります。 GUIシェルは通常ウィンドウマネージャ、時には別のコンポーネントデスクトップ環境。ウィンドウマネージャまたはデスクトップ環境で環境変数を設定する標準的な方法はありません。各WM / DEには独自の方法があります(残念ながら、いくつかの方法はありません)。
環境変数の変更に関連しないWM / DEはeditです~/.profile
。基本的な構文(他の方法もあります)は次のとおりです。
export MYVAR='the value of the variable'
次に、ターミナルを起動し(シェルを実行)、そのシェルに入力します。
. ~/.profile
これにより、環境変数の新しい値がロードされます.profile
。その後、そのシェルでプログラムを実行すると、新しい変数がプログラムに適用されます。ただし、GUIメニューから直接プログラムを実行すると、そのプログラムはGUIメニューを提供したプログラムの環境を継承するので、この設定を変更するには、そのプログラムが提供する手段(またはその一部として)を使用する必要があります。コンパニオンプログラム)デスクトップ環境)。
答え2
/etc/environment
ファイルに変数を設定できます。形式は次のようになります。
VARIABLE=value
変数拡張は機能しません/etc/environment
。この変数を使用するか、必要なすべてのプロセスを再起動する必要があります。
答え3
基本的に、環境変数は、環境変数を設定するプロセス/シェルによって開始されたすべてのプロセスで使用できます。
Unixの環境変数はシェル変数としてエクスポートされますexport
。例えば
MYVAR="my value"
export MYVAR
通常、シェル起動ファイルで環境変数を設定します。場合によっては、bash
このシェルは~/.bash_profile
他の多くのシェルでも使用されます~/.profile
。
/etc
/etc/profile
たとえば、すべてのユーザーの環境をカスタマイズするために使用できるシステム全体のシェル初期化スクリプトがあります。
環境変数はシェルに依存しない方法ですべてのユーザーにグローバルに設定できますが、これを行う方法はUnix環境によって異なります。ほとんどのBSDは修正によってこれを達成できますが、/etc/login.conf
一部のLinuxは/etc/environment
他のメカニズムを使用しています。