1.きっかけ
ファイルの属性表示やdateコマンドの実行すると、中途半端な日本語表示に出会う。12月4日(日曜日)を表示しているのだが、なんとも中途半端だ。そこで英語表示に変更しようと思った。
例:日 12月 04
2.raspi-config や dpkg-reconfigure localesを使う
ネットには英語から日本語に変更するやり方が結構見つかる。最初はこれを使って日本語から英語に変更してみた。
※ raspi でも dpkg-reconfigure が使えた。
(1)localeを英語(en_US.UTF-8)だけにする
debian や ubuntu を使っている方ならば有名な準グラフィックツールだ。
確かに日付は英語表示になった。
例:Sun Dec 04
でも、
-bash: warning: setlocale: LC_ALL: cannot change locale (ja_JP.UTF-8)
がでる。
(2)ja_JP.UTF-8を追加
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = “ja_JP.UTF-8”,
LC_ALL = “ja_JP.UTF-8”,
LANG = “en_US.UTF-8”
are supported and installed on your system.
perl: warning: Falling back to a fallback locale (“en_US.UTF-8”).
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
/usr/bin/locale: Cannot set LC_CTYPE to default locale: No such file or directory
/usr/bin/locale: Cannot set LC_MESSAGES to default locale: No such file or directory
/usr/bin/locale: Cannot set LC_ALL to default locale: No such file or directory
Generating locales (this might take a while)…
en_US.UTF-8… done
ja_JP.UTF-8… done
Generation complete.
なんていうエラーに悩まされる。
$ locale
を実行するとぐちゃぐちゃになっていることが表示される。
LANG=en_US.UTF-8
LANGUAGE=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=ja_JP.UTF-8
3./etc/default/locale を編集する
ネット上を探してたどり着いたのが https://itecnotes.com/server/linux-warning-setlocale-lc_all-cannot-change-locale-on-gce-instances/ だ。
早速やってみる。
$ sudo nano /etc/default/locale
LC_ALL=ja_JP.UTF-8
LANGUAGE=ja_JP.UTF-8↓ 以下のように修正
LANG=en_US.UTF-8
LC_ALL=en_US.UTF-8
LANGUAGE=en_US.UTF-8
再起動後にログイン
$ locale
LANG=en_US.UTF-8
LANGUAGE=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=”en_US.UTF-8″
ArchLinuxにはない /etc/default/での設定。これに気づくまで結構遠回りしたというお話でした。
コメント