/etc/default/localeをオーバーライドする設定ファイルは何ですか?

/etc/default/localeをオーバーライドする設定ファイルは何ですか?

奇妙な理由から、複数のLC_ロケール変数が私が認識しない値に設定されていることがわかりました(en_ZA.UTF-8)。そのため、コマンドラインを介して適切な設定ファイルを使用して永久に異なる設定をしたいと思います。

しかし、これは何の書類ですか?/etc/default/locale少なくとも体系的な次元ではそうすべきだと思います。しかし、そこには次のようなものがあります。

#  File generated by update-locale
LANG="en_US.UTF-8"
LANGUAGE="en_US:en"

設定できる他のファイルなどがLC_MONETARYありますか? LC_TIME私は容疑者を見つけるために高い場所と低い場所を探しました。

PS - 私はDebian Stretchを使用しています。

答え1

ロケール設定は環境変数を介して渡されるため、環境変数を設定できるさまざまな場所で設定できます。/etc/default/localeシステムロケールを介してインターフェイスを設定する場合は、システムのデフォルトロケールの場所が文書化されていますが、設定は環境変数が設定されている別の場所にある可能性があります。たとえば、最も一般的な項目だけをリストします。

  • /etc/profile
  • /etc/profile.d/*
  • /etc/environment
  • ~/.profile、または、または~/.bash_profileログインシェルに応じて~/.login~/.zprofile
  • ~/.pam_environment
  • (ターミナルで実行されるシェルのみ)/etc/bash.bashrc、、、/etc/zshrcなど~/.bashrc~/.zshrc

ドット/etcファイル全体を検索すると、次のようになります。

grep -rs en_ZA /etc ~/.[!.]*

ロケールは、設定されていない場合は設定から​​始まり、LANGすべてのLC_ALL設定よりも優先されます。出力のlocale設定が明示的な設定から派生した場合、またはその逆の場合、LANG設定LC_ALLは二重引用符で印刷されます。

関連情報