ロケールを日本語へ変更しましょう

ロケールとは、ユーザーが利用する言語、地域など、ユーザーインターフェイスで表示したい主に自然言語(英語、日本語、ドイツ語など)を設定するパラメーターです。Rasberry Pi OSをインストールした直後は英語となっていますので、日本語へ変更しましょう。

はじめに

Unix系、Linux系、Windows系OSを問わず、ロケールと言われる設定は必要となります。OSインストール時に使用している言葉やキーボードの配列パターンを選択していますが、ロケールとは、インストール時の「使用している言葉」の設定を指します。
OSが情報を入出力するときに、ロケールの値を参照して、英語や日本語の表示を切り替えています。
日本語にも、いくつかの文字コードが存在しています。最近はUnicode系UTF-8で統一され始め、利用ユーザも文字化けで混乱することが少なりましたが、昔は、Unix系、Linux系はEUCコード、WindowsではSJISコードとなっており、ファイルを日本語名にすると、共有ファイルシステムで文字化けが発生するなど、マルチバイト入出力も含め、問題を抱えていました。テキストエディターやSambaなどのソフトウェアでその違いを吸収(ロケールを参照して表示する文字コードを変更)して動かすなど、いろいろな取り組みがなされ、今日に至っています。
このような経験をしているベテランSEは、ASCIIコードの範囲でファイル名を作成する習慣があり、いろいろとソースコードを見ていると面白いものです。
昔はソフトウェアを日本語化するだけでも一晩中コンパイルが必要であり、大変苦労しました。。
最後に、数十年にわたり、無償でマニュアル(man)やSambaなどの日本語化してくださった方々へ対し、感謝の意を表しましょう!

目的

ロケールの設定は、Raspberry Pi OSをインストール直後は「en_GB.UTF-8」となっていますので、それを「ja_JP.UTF-8」へ変更します。
シェルスクリプトを多用する場合、環境差異を低減させる目的で、通常は「en_GB.UTF-8」、必要な時だけ「ja_JP.UTF-8」とする場合の方法も記載します。

  • コマンド「raspi-config」を用いた変更
  • 直接「/etc/default/locale」を編集
  • 必要な時だけ、日本語へ変更する
  • ユーザ毎にロケールを変更する場合

コマンド「raspi-config」を用いた変更

ターミナルソフト「Tera Term」を使い、Raspberry Piへログインしましょう。
ログイン状態であれば、新たにログインする必要はありません。

簡単な変更前のロケール確認として、存在しないファイルのリスト表示を実行してみます。英語で「aaaaというファイルおよびディレクトリは無いよ」と言っています。

$ ls -l aaaa
ls: cannot access 'aaaa': No such file or directory

それでは変更していきましょう。
以下のコマンドを入力します。

$ sudo raspi-config

以下の表示で、矢印キーで「5.Localisation Options」を選択して、「Enter」キーを押下します。

以下の表示で、「1.Locale」を選択して、「Enter」キーを押下します。

以下の表示で、たくさんあるロケールの中から「ja_JP.UTF-8」を探していきます。途中にデフォルトの「en_GB.UTF-8」を見つけました。
まだまだ、下にあります。矢印キーでカーソルを移動させしましょう。

やっと、見つけました。
スペースキーで選択(*マークを付けます)します。

「Tab」キーで「OK」ボタンへカーソル移動、「Enter」キーを押下します。

次に、システム全体で使用するロケールを選択します。
以下の考えで選択します。

  • ロケールを十分理解したプロ級は方は「C.UTF-8」
  • 通常は、英語表記、必要な時だけ日本語という方は「en_GB.UTF-8」
  • 自分しか使わない、日本語を使いたいのであれば、「ja_JP.UTF-8」

「Tab」キーで「OK」ボタンへカーソル移動、「Enter」キーを押下します。

「Tab」キーで「finish」ボタンへカーソル移動、「Enter」キーを押下することで、設定が完了します。

このロケールの設定は、ログイン時にログインユーザの環境変数として設定されますので、再ログインしてください。

再ログイン後、環境変数からロケールの変更を確認します。
以下のコマンドを実行します。

$ env | grep LANG
LANG=ja_JP.UTF-8

一時的な日本語を利用する方は、以下のコマンドを実行します。

$ export LANG=ja_JP.UTF-8
$ env | grep LANG
LANG=ja_JP.UTF-8

簡単にロケールの変更確認を行います。

$ ls -l aaa
ls: 'aaa' にアクセスできません: そのようなファイルやディレクトリはありません

日本語が出力されたことを確認して本作業は、終了となります。

直接「/etc/default/locale」を編集

ターミナルソフト「Tera Term」を使い、Raspberry Piへログインしましょう。
ログイン状態であれば、新たにログインする必要はありません。

テキストエディタで以下のファイルを編集します。

$sudo vi /etc/default/locale

以下のように変更します。

ロケールの設定は、ログイン時にログインユーザの環境変数として設定されますので、再ログインしてください。

簡単にロケールの変更確認を行います。

$ ls -l aaa
ls: 'aaa' にアクセスできません: そのようなファイルやディレクトリはありません

日本語が出力されたことを確認して本作業は、終了となります。

ユーザ毎にロケールを変更する場合

ターミナルソフト「Tera Term」を使い、Raspberry Piへログインしましょう。
ログイン状態であれば、新たにログインする必要はありません。

簡単に変更前のロケールを確認します。

$ ls -l aaaa
ls: cannot access 'aaaa': No such file or directory

一時的な日本語を利用するには、以下のコマンドを実行します。

$ export LANG=ja_JP.UTF-8
$ env | grep LANG
LANG=ja_JP.UTF-8

簡単にロケールの変更確認を行います。

$ ls -l aaa
ls: 'aaa' にアクセスできません: そのようなファイルやディレクトリはありません

関連ページ

Raspberry Pi Zero Labo