このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
Linuxコマンドの基本:シェル変数:ロケール

シェル変数:ロケール
Linuxシステムでは、表示言語や日付の形式など、地域と言語に関連する設定をロケール(Locale)と呼びます。ロケールを適切に設定することで、システムのメッセージやアプリケーションの表示を自分の言語や地域に合わせることができます。
ここでは、シェル変数を利用してロケールを設定・変更する方法について解説します。特に、シェル変数であるLANG
を使用して、システムメッセージの言語を切り替える方法について解説します。

シェル変数:LANG
Linuxをインストールする際に日本語環境を選択した場合、bash
のエラーメッセージやシステムメッセージは基本的に日本語で表示されます。
エラーメッセージが日本語で表示される例
これは、システムがインストール時に設定されたロケールを基準に、表示言語や日付の形式を決定しているためです。
user01@ubuntu:~$ command1
コマンド 'command1' が見つかりません。もしかして:
command 'commando' from snap commando (1.7.0)
他のバージョンについては 'snap info <snapname>' を確認してください。
現在のロケールの確認
現在使用しているロケールは、シェル変数であるLANG
に設定されています。LANG
の値を確認するには、以下のコマンドを実行します。
user01@ubuntu:~$ echo $LANG
ja_JP.UTF-8
上記の例では、ja_JP.UTF-8
が設定されており、これは「日本語(Japan)のUTF-8エンコーディング」を意味します。
使用可能なロケールの確認
システムがサポートしているロケールは、locale
コマンドに-a
オプションを付けて確認できます。
user01@ubuntu:~$ locale -a
C
C.UTF-8
POSIX
ja_JP.utf8
この出力は、システムにインストールされているロケールの一覧です。
ロケールの変更
LANG
変数を変更することで、システムメッセージの言語を切り替えることができます。
英語のローケールに切り替える
たとえば、Linux環境でデフォルトのロケール設定の1つであるC
ローケールに切り替えます。
user01@ubuntu:~$ LANG=C
user01@ubuntu:~$ command1
Command 'command1' not found, did you mean:
command 'commando' from snap commando (1.7.0)
See 'snap info <snapname>' for additional versions.
エラーメッセージが英語で表示されるようになりました。
日本語のローケールに戻す
元の日本語のロケールに戻すには、LANG
変数を再度設定します。
user01@ubuntu:~$ LANG=ja_JP.UTF-8
user01@ubuntu:~$ command1
コマンド 'command1' が見つかりません。もしかして:
command 'commando' from snap commando (1.7.0)
他のバージョンについては 'snap info <snapname>' を確認してください。
エラーメッセージが再び日本語で表示されるようになりました。
ロケールの設定一覧
主なロケールの設定例を以下に示します。
ローケール名 | 説明 |
---|---|
ja_JP.UTF-8 | 日本語(UTF-8エンコーディング) |
en_US.UTF-8 | 英語(アメリカ、UTF-8エンコーディング) |
C | デフォルトのPOSIX環境(英語) |
ロケールの設定方法
一時的にロケールを変更する場合は、コマンドラインでLANG
変数を設定します。ただし、この方法では現在のシェルセッションでのみ有効です。永続的に変更したい場合は、~/.bashrc
や/etc/default/locale
ファイルに設定を追加します。
まとめ
- ロケール(Locale)は、システムの表示言語や日付形式などを決定する重要な設定です。
LANG
シェル変数を変更することで、エラーメッセージやシステムメッセージの言語を切り替えることができます。locale -a
コマンドで、システムにインストールされているロケールを確認できます。- ロケールを適切に設定することで、システムを自分の言語や地域に合わせて快適に使用できます。