さくらのVPSでCentOS8 (10)

前回はホスト名を変更しました。今回は言語設定を変更してみましょう。

まずは、現在の設定を確認してみましょう。

$ locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
$ date
Fri Jul 31 12:34:56 JST 2020

現在日時を表示しても、英語表記になります。

変更は簡単。次のファイルに設定を追加するだけ。

~/.bash_profile

各ユーザのホームディレクトリにあるファイルで、ログイン時に1回実行されます。

その中に環境変数”LANG”の設定を入れてあげるのです。

$ vi ~/.bash_profile

で、編集して、最後の行に次の一行を入れておきます。

export LANG=ja_JP.UTF-8

ログインし直してみると、

$ locale
LANG=ja_JP.UTF-8
LC_CTYPE="ja_JP.UTF-8"
LC_NUMERIC="ja_JP.UTF-8"
LC_TIME="ja_JP.UTF-8"
LC_COLLATE="ja_JP.UTF-8"
LC_MONETARY="ja_JP.UTF-8"
LC_MESSAGES="ja_JP.UTF-8"
LC_PAPER="ja_JP.UTF-8"
LC_NAME="ja_JP.UTF-8"
LC_ADDRESS="ja_JP.UTF-8"
LC_TELEPHONE="ja_JP.UTF-8"
LC_MEASUREMENT="ja_JP.UTF-8"
LC_IDENTIFICATION="ja_JP.UTF-8"
LC_ALL=
$ date
2020年 7月 31日 金曜日 12:34:59 JST

現在日時も日本語表示されています。

終わり!

ではなく、もうちょっと。

さて、この言語指定には何が入れられるのか?

次のコマンドで一覧が表示できます。

$ localectl list-locales
C.utf8
en_AG
en_AU
en_AU.utf8
en_BW
en_BW.utf8
en_CA
en_CA.utf8
en_DK
en_DK.utf8
en_GB
en_GB.iso885915
en_GB.utf8
en_HK
en_HK.utf8
en_IE
en_IE.utf8
en_IE@euro
en_IL
en_IN
en_NG
en_NZ
en_NZ.utf8
en_PH
en_PH.utf8
en_SC.utf8
en_SG
en_SG.utf8
en_US
en_US.iso885915
en_US.utf8
en_ZA
en_ZA.utf8
en_ZM
en_ZW
en_ZW.utf8
ja_JP.eucjp
ja_JP.utf8

もし、この中にjaがない場合、インストールしなければ。

何を?

$ dnf search locale ja

=========================================== 概要 & 名前 一致: ja, locale ===========================================
glibc-langpack-ja.x86_64 : Locale data for ja

では、それをインストールしよう。

$ sudo dnf install glibc-langpack-ja

終了!!

ではなく、もうちょっと。

localeコマンドで表示したのはユーザー毎の設定。

では、システムでの設定は?次のファイルに設定があります。

$ cat /etc/locale.conf
LANG="en_US.UTF-8"

直接変更することも可能ですが、localectl コマンドを使用すると、システムロケールとキーボードレイアウトの設定が可能です。

まず、現在の設定状態は?

$ localectl status
System Locale: LANG=en_US.UTF-8
VC Keymap: jp106
X11 Layout: jp

変更するなら、次のようなコマンドを実行。

$ sudo localectl set-locale LANG=ja_JP.UTF-8
$ sudo source /etc/locale.conf

1行目は設定ファイルの変更。

そのまま再起動すれば反映されるが、2行目のコマンドで即反映可能。

終了!!!

後少し、もう少し。

さて、システムロケールもユーザーロケールも英語なのに、SSHでログインしたら日本語で表示されるって事、あるよね?

~/.bash_profileにも記載はないし、なぜ?

それは、SSHのクライアントに設定が記載されているから。かもしれない。

MacからSSH接続しているなら、次の設定ファイルを見てみよう。

% sudo vi /etc/ssh/ssh_config

ファイルの最後に次のような記載があるか見てみよう。

Host *
SendEnv LANG LC_*

SendEnvで接続時に環境変数を設定している。

更に、Terminalの環境設定で次の設定にチェックが入っていると、実際に反映される。

終了。

言語設定は、思った以上にいろいろな要素があった。

さて、次回は、何をしようか?

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です