以前kali linuxの日本語入力について投稿しましたが、今回は日本語表示の話。
前回は日本語のテキストを入力することが目的でしたが、今回の目的は日本語表示がされるようにすることです。
日本語で表示されるのは、
- マニュアル類の内容
- エラーメッセージなどのメッセージ類
- ディレクトリ名など
但し完全には日本語になりません。(例えばマニュアル類などは先達が翻訳して下さったもののみが日本語化されてます)
localeについて
localeとは、LinuxやUnix系OS上で言語・地域・書式設定などを一括管理する仕組みです。
国ごとに使用される言語・文字・通貨単位・数値表記・日付時刻表記などがパッケージ化されて管理されていまして、そのパッケージがlocaleです。
システムに入っているlocale一覧
下記コマンドで、現在システムに入っているlocaleを一覧表示できます。
locale -a

Cは英語ですので、要は英語しか最初は入っていません。
ちなみに日本語用のlocaleは ” ja_JP.UTF-8 ” です。
これからここに ” ja_JP.UTF-8 ” を加え入れていきます。
設定されているlocaleの確認
現在のlocale設定状態は下記コマンドで確認出来ます。
locale

つまり全部英語に設定されています。( ” en_US.UTF-8 ” は英語)
LANG | 全体のデフォルト言語 |
LANGUAGE | メッセージ翻訳言語 (LC_MESSAGESより優先) |
LC_CTYPE | 文字の分類 |
LC_NUMERIC | 数値の表記 |
LC_TIME | 日付と時刻のフォーマット |
LC_COLLATE | 文字列の並び順(ソート時) |
LC_MONETARY | 通貨表示 |
LC_MESSAGES | メッセージ言語 |
LC_PAPER | (省略) |
LC_NAME | (省略) |
LC_ADDRESS | (省略) |
LC_TELEPHONE | (省略) |
LC_MEASUREMENT | (省略) |
LC_IDENTIFICATION | (省略) |
LC_ALL | 上記LC全ての一括上書 |
取り敢えず一番上の ” LANG ” と一番下の ” LC_ALL ” だけ覚えればOKです。
これからその2ヶ所を ” ja_JP.UTF-8 ” に書き換える作業を行います。
日本語locale ” ja_JP.UTF-8 ” の生成
まずは、 ” ja_JP.UTF-8 ” を生成します。
これを生成するコマンドが ” locale-gen ” となります。
そこでまずはその設定ファイルを変更して、生成が可能になるように設定します。
locale-gen設定ファイルの変更
設定ファイルは ” /etc/locale.gen ” です。これを ” sudo ” を付けてテキストエディタで開きます。
下記例は ” nano ” で開いています。
sudo nano /etc/locale.gen

開いた所

中には非常に多くの行がABC順に並んでいますが、 ” j ” の行までカーソルを持っていき、

” ja_JP.UTF-8 ” の行の先頭の ” # ” を削除し、コメントアウトを解除します。

これを保存(Ctrl +O → Enter)、終了(Ctrl+X)します。
” cat /etc/locale.gen ” で確認してみると、

” ja_JP.UTF-8 ” のコメントアウトが解除されているのが確認出来ます。

locale-gen実行
次にいよいよ ” ja_JP.UTF-8 ” を生成します。
sudo locale-gen ja_JP.UTF-8

” locale -a ” で確認すると、確かに ” ja_JP.UTF-8 ” が生成されています。
localeの変更
コマンド ” export ” を使用して、localeに日本語パッケージ ” ja_JP.UTF-8 ” を適用します。
参考) ” export ” コマンドの他に環境変数 ” env ” コマンドでも変更出来ます。
1. 一時的な適用
下記の2つのコマンドで変更します。
export LC_ALL=ja_JP.UTF-8
export LANG=ja_JP.UTF-8

” locale ” コマンドで確認すると、全て ” ja_JP.UTF-8 ” に書き変わっています。
但しこの日本語化は一時的なもので、そのターミナル内でのみ有効です。(別のターミナルを新たに起動させた場合はそこには変更が反映されません)
表示の確認
それでは本当に日本語表示出来ているかどうかを確かめてみます。
まずは存在しないディレクトリ ” xxx ” を表示しようとすると、

このように日本語でエラーメッセージが出ます。
次に、マニュアル表示コマンド ” man ” のマニュアル表示、 ” man man ” では、

このように部分的にですが日本語表示されます。
参考
参考までに環境変数 ” env ” でも変更が確認できます。

最下段とその2つ上の段が、デフォルトの英語 ” en_US.UTF-8 ” から、日本語の ” ja_JP.UTF-8 ” に変更されています。
2. 永続的な適用
次に日本語化を永続的に適用する設定です。
シェル起動時の設定ファイルに以下の2行を追記します。
LANG=ja_JP.UTF-8
LC_ALL=ja_JP.UTF-8
例としてzシェルの設定ファイル ” .zshrc ” に、echoのリダイレクトを用いて追記してみます。
echo ‘export LANG=ja_JP.UTF-8’ >> ~/.zshrc
echo ‘export LC_ALL=ja_JP.UTF-8’ >> ~/.zshrc

最終行の ” source ~/.zshrc ” は、(次回のリブート時からではなく)現在からこの設定を有効にするコマンドです。
勿論テキストエディタで編集してもOKです。
” .zshrc ” の内容を確認すると、最後の2行に追記されています。


これでzシェルを使用したターミナルでは全て日本語化されます。
シェルにbashを利用されている場合は、追記先は ” .zshrc ” の代わりに ” .bashrc ” となります。
3. システム全体への適用
次にシステム全体に適用させる方法です。
” /etc/default/locale ” ファイルの内容を下記2行に変更します。( ” sudo ” が必要です)
LANG=ja_JP.UTF-8
LC_ALL=ja_JP.UTF-8
例では ” nano ” を使って開いています
sudo nano /etc/default/locale

変更前

変更後

変更後の日本語表示
変更後に再起動するとあちこちが日本語化されます
まずはログイン画面から日本語化されてます。
最初の起動時にディレクトリ名を日本語表示にするかどうか聞かれます。

デスクトップはこんな感じです。

「ゴミ箱」なども日本語に。

ここまで日本語化されると、なんか私にとってはちょっと気持ち悪い感じです。
まとめ
kali linuxの日本語表示設定をご紹介しました。
システム全体の日本語表示については、私はどうも馴染めなかったので、すぐに元の英語表示設定に戻しています。
英語に戻すには、 ” /etc/default/locale ” ファイルの内容を下記に戻します。( ” sudo ” が必要)
LANG=en_US.UTF-8
LC_ALL=en_US.UTF-8
コメント