ログインするたびに特定の環境変数を設定する

ログインするたびに特定の環境変数を設定する

これは簡単な作業のように聞こえますが、これまではこれを達成できませんでした。

Debian 11で(グラフィックス)ログインが発生するたびに条件付きで(たとえば、$ XDG_DEBUG == 1の場合...)、このユーザーの特定の環境変数を設定したいと思います。環境変数は、後でユーザーが呼び出すすべての端末(たとえば、および)に設定する必要がbashありzshます。Gnome DesktopMate Desktop

重要:環境変数はログインするたびに設定する必要があるため、ログイン、ログアウト、再ログインの順序については2回設定されます。再起動は必要ありません。

この目標を達成する方法は?

ベストアンサー1

ホームディレクトリのファイルにこれらの変数を追加します.bashrc。これらのファイル(他のファイル)は、.zshrcシェルが起動するたびに自動的にロードされます。bashzsh

よりグローバルな設定が必要な場合は、独自の名前.my_envvar(または必要な名前)を作成し、*rc両方のファイルに次のコードを追加してください。

if [ -e $HOME/.my_envar ] ; then
   source $HOME/.my_envar
fi

自分だけでなくすべてのユーザーに対してこれらの変数を設定するには、にアクセスしてディレクトリが/etc存在することを確認します/etc/profile.d。変数を含むファイルを追加します。このファイルはここからロードされます/etc/profile(その中に特別なループがあります)。

または、オペレーティングシステムが十分にスマートでない場合は、/etc/profile特殊変数を直接追加できます。または自分自身の/etc/profile.d

しかし、このような変数XDG_DEBUG(またはデバッグ変数)の場合は、デバッグしたいアプリケーションを実行する特別なシェルスクリプトで設定するのが最善です。グローバルに設定しないでください。そうしないと、複数のアプリケーションのデバッグ情報に陥ります。

おすすめ記事