(raspi)debianでlocaleをenに設定する

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/での設定。これに気づくまで結構遠回りしたというお話でした。

コメント

タイトルとURLをコピーしました