Linux系システム上の環境変数

Linux系システム上の環境変数

シェルの環境変数 (Bourne 系シェルのプロファイル、bahsrc、zshrc、zshenv など) に依存しない最も一般的な方法で、ユーザーの環境変数を設定するにはどうすればよいでしょうか。アイデアとしては、ユーザーのログイン時にユーザーの環境変数を設定し、あらゆる種類のシェルを含むすべてのプロセス (シェル プロセスだけでなく、他のプロセスによって生成されたもの) でそれらを使用可能 (フォーク) にすることです。

答え1

このUbuntuドキュメントについて話す~/.pam_environment

セッション全体の環境変数

特定のユーザー(システム全体ではなく)にのみ影響する環境変数設定に適したファイルは、~/.pam_environmentおよびです~/.profile。これらのファイルの1つを編集した後、再ログイン変数を初期化するためです。

~/.pam_environment

このファイルは、特にユーザーの環境を設定するためのものです。これはスクリプト ファイルではなく、1 行に 1 つの代入式で構成されています。この例では、変数 FOO をリテラル文字列に設定し、PATH 変数を変更します。

FOO=bar
PATH DEFAULT=${PATH}:${HOME}/MyPrograms

注記:

  1. 例のような単純な変数割り当てを行う場合は、値を引用符で囲むことはできませんFOO=bar

  2. 変数の拡張が機能するには、スクリプト ファイルとは異なる、PATH を変更するために使用される構文が必要です。

  3. ~/.pam_environment さまざまな GUI を使用して言語または地域の形式を設定するときに書き込まれます。したがって、たとえば~/.pam_environment手動で編集して LC_TIME を設定した場合、その後言語サポート GUI を使用して地域の形式の設定を変更すると、エントリが上書きされます。

このファイルは、と同様に/etc/environmentpam_env.soこれはログイン プロセスの一部として実行され、シェルとは別のものになると思います。

関連情報