##ロケールとは
言語・地域が異なる国、地域単位で単位、記号、日付などの表記方法の集合。
ロケールの設定によってシステムは表記や処理を行う。
なお、ロケールの設定によっては、エラーが起こることもしばしば。
エラーの例として
yum(CentOSでのUbuntuのaptの代わりみたいなもの)実行時に、ロケールの設定によっては、警告文が出る。
emacsでのファイル編集時、文字化けが起こる。
ターミナルで日本語入力できない
(余談)
ターミナルとコンソールの区別について
ターミナル:GUI上でCUI操作を行うためのアプリケーション。Ubuntuでいうところの"端末"
コンソール:コンピュータの入出力装置。ディスプレイやキーボードのこと。
とはいえ、現在ではコンソールはターミナルの意味合いで用いられることも多い。
ちなみに、モニター、ディスプレイの違いなども...
##localeコマンド
ロケール情報の表示はlocale
コマンドで行う。
オプション無しでは、現在のロケールの設定が表示される。
a
オプションで利用可能なロケール一覧が表示される。
##ロケールの設定
ロケールの設定では、LC_ALL>LC_で始まる環境変数>LANGの優先順位で適用される。
設定方法は、これらは環境変数なので、ターミナルで以下の作業のいずれかを行えば良い。
# 環境変数として、登録。
$ export LANG="ja_JP.UTF-8"
# シェル変数として登録。
$ set LANG="ja_JP.UTF-8"
# 環境変数削除
$ unset LANG
# 永続的に設定するには、.bash_profileに設定。システム全体で利用する場合は/etc/profileに設定。
$ cd
$ echo 'export LANG="ja_JP.UTF-8"' >> .bash_profile
なお、
シェル変数:そのシェルのみで利用可能な変数。子プロセスには引き継がれない。
環境変数:そのシェルと起動したコマンド(プログラム)の中で利用可能な変数。子プロセスに引き継がれる。
##localectlコマンド
CentOS7の場合localectl
コマンドが使用できる。
- localectl status:現在のロケールの設定を表示
- localectl list-locales:利用可能なロケールを表示
- localectl set:ロケールを変更する
なお、ロケールの設定ファイルは/etc/locale.conf
である。