連載
» 2018年10月26日 05時00分 公開

Tech TIPS:WSLのDebian環境を日本語化する

WSLのDebianディストリビューションを導入すると、デフォルトでは英語モードになっている。これを日本語化してメッセージ出力やタイムゾーン設定、マニュアルドキュメントなどを日本語化しよう。

[打越浩幸,デジタルアドバンテージ]
「Tech TIPS」のインデックス

連載目次

対象OS:Windows 10バージョン1709以降(64bit版のみ)


 Windows 10に「WSL(Windows Subsystem for Linux)」をインストールすると、Linux向けのプログラム(バイナリファイル)をそのまま実行できるようになる。WSLのインストール方法や活用については、以下のTIPSなどを参照していただきたい。現在では、UbuntuやDebian、SUSE Linux、WLinux(これはDebianベースの有償製品)など、数種類のLinuxディストリビューションを導入できるようになっている。

 この方法でインストールされるLinuxは英語版で、何もローカライズされていない。英語版だと、メッセージやマニュアル(ヘルプ)などが全て英語となる。日本語Windows 10で使うなら、日本語化されたLinuxの方が使いやすいだろう。それには、Linuxの「ロケール(言語設定)」やマニュアルドキュメントなどを日本語化しておけばよい。

 本TIPSでは、WSLのDebianを日本語化する方法についてまとめておく。Ubuntuの日本語化については以下のTIPSを参照していただきたい。

日本語化の概要手順

 WSLのDebianを日本語化する場合、どこまで日本語対応させるかによって、いろいろな選択肢がある(ロケールだけ日本語対応するか、その上で動作するアプリまで全て対応するか、など)。本TIPSでは以下のコマンドを順に実行して、ロケールとタイムゾーンを日本語化することにする。基本的な手順はUbuntuの場合とほぼ同じである。なお以下の手順は、原稿執筆時点で利用できるDebianのVersion 9.5を対象としている(バージョン番号は「cat /etc/debian_version」で確認可)。

# 1.パッケージ情報の更新
sudo apt update
sudo apt upgrade

# 2.日本語関連パッケージのインストール
sudo apt install task-japanese

# 3.ロケールを日本語に設定
sudo dpkg-reconfigure locales

# 4.ここでいったん終了してから、Debianを再起動

# 5.タイムゾーンをJSTに設定
sudo dpkg-reconfigure tzdata

# 6.日本語ツールなどのインストール
sudo apt install man



 以下、順番に手順を紹介する。

手順1.パッケージ情報の更新

 日本語化の前に、Debianをインストールして起動し、ユーザー名の入力などの初期セットアップを済ませたら、最初に「apt update」「apt upgrade」を行って、Debian環境を最新の状態に更新しておいていただきたい。これらのコマンドについては次のTIPSを参照のこと(Debianでもaptコマンドは同様に利用できる)。

 なお、これらのコマンドを実行する場合は、前に「sudo 〜」を付けて、root権限で実行する必要がある。「sudo」はroot権限で起動する指示で、最初の1回はルートのパスワードを入力する必要がある。「sudo -i」で(インタラクティブモードの)root権限のシェルにしておいてから、「apt 〜」を実行してもよい。

パッケージ情報の更新 パッケージ情報の更新
最初に「apt update」「apt upgrade」でシステムを最新の状態に更新する(Windows OSにおけるWindows Updateのような作業)。

 環境によっては、起動したDebianのコンソールの表示が英語フォントになっていることがあるようだ。その場合は、日本語メッセージなどを表示できるように、コンソール画面の左上にあるメニューから[プロパティ]を開き、[フォント]タブで[MS ゴシック]などの日本語フォントを選択しておこう。

手順2.日本語関連パッケージのインストール

 次は、日本語関連のツールやmanドキュメントなどが含まれている「task-japanese」というパッケージを追加する。実行するコマンドは次の通り。

sudo apt install task-japanese



 「apt install 〜」はパッケージをインストールする指示である。確認メッセージが表示されるので、そのまま[Enter]を押すとインストールが実行されるが、「apt -y 〜」とすると、ユーザーの確認なしでインストールできる。

task-japaneseパッケージのインストール task-japaneseパッケージのインストール
日本語関連のツールやドキュメントなどが含まれた「task-japanese」パッケージをインストールする。そのまま[Enter]キーを押すと、インストールが行われる。

 ここで「E: Unable to locate package task-japanee」のようなエラーメッセージが表示された場合は、手順1.の更新手順を先に実行しておくこと。

手順3.ロケールを日本語に設定する

 Linuxを日本語環境にするということは、ロケールをデフォルトの「en_US.UTF8」から「ja_JP.UTF8」に切り替えるということである(文字コードはUTF-8になる。ロケール文字列の意味についてはLinux Hacks:「環境変数によるロケールの管理」参照)。

 まず「dpkg-reconfigure locales」を実行して、ja_JPロケールの設定を追加する。このコマンドを起動するとGUIのようなメニュー画面が表示されるので、下の方にある「ja_JP.UTF-8 UTF-8」を選択してインストールする(ディスクに余裕があるなら[All locales]でもよい)。[Page Down]や[↓]キーなどで画面をスクロールさせ、[スペース]キーでチェックマークをオンにする。そして[Enter]キーを押すとインストールが行われる(マウスでは操作できないので注意)。その次の画面ではデフォルトロケールを選択する画面が表示されるので、[ja_JP.UTF-8]を選択しておく。

sudo dpkg-reconfigure locales



 実際に実行すると次のようになる。

日本語ロケールへの変更(1) 日本語ロケールへの変更(1)
「ja_JP.UTF8 UTF-8」を選んで[Enter]を押すと、日本語用のロケール設定情報が追加インストールされる。

日本語ロケールへの変更(2) 日本語ロケールへの変更(2)
この画面では、デフォルトとして利用するロケールを選択する。追加した「ja_JP.UTF8」を選んで[Enter]を押す。

手順4.Debianコンソールの再起動

 ロケールの変更後は、いったんDebianのコンソール(シェル)をexitコマンドや[Ctrl]+[D]で終了してから、もう一度起動する(Windows OSの再起動は不要)。すると以後はずっと変更されたロケールが使われる。

日本語ロケールの確認 日本語ロケールの確認
再起動すると、今度は日本語ロケールになっているはずである。この状態だと、例えばdateやcalコマンドの出力に日本語文字が含まれるようになる。

手順5.タイムゾーン設定を日本時間(JST)にする

 インストールされたばかりのDebianの「タイムゾーン(timezone、時間帯設定)」は、デフォルトでは「DST」(または「UTC」「UCT」など)になっているので、これを「JST(日本標準時)」に変更しておこう。そうしないと、何時間かずれた時刻が表示されたり、ファイルやログの作成/更新などで間違った時刻情報が使われたりすることがある。

 タイムゾーンをJSTに変更するためには次のコマンドを実行する。

sudo dpkg-reconfigure tzdata



 このコマンドを起動するとGUIのようなメニュー画面が表示されるので、「地理的領域」(ロケール設定前に実行した場合は英語で「Geographic area」と表示される)として[アジア(Asia)]−[東京(Tokyo)]を選択して[Enter]キーを押す。

タイムゾーンの設定(1) タイムゾーンの設定(1)
インストール直後はDSTやUTCなどになっているはずなので、これをJSTに変更する。

タイムゾーンの設定(2) タイムゾーンの設定(2)
この画面では[アジア(Asia)]を選択する。

タイムゾーンの設定(3) タイムゾーンの設定(3)
この画面では[東京]を選択する(Debianのバージョンや設定状況によっては英語で[Tokyo]と表示されていることもある)。

タイムゾーンの設定(4) タイムゾーンの設定(4)
設定が完了すると、例えばdateコマンドの結果がJSTで表示されるようになる。

手順6.日本語ツールなどのインストール

 以上で日本語化は完了しているが、さらに日本語のツールなども導入しておこう。といっても最初に行った「apt install task-japanese」で日本語マニュアル類(manpages-jaなど)はすでにインストールされている。だが、なぜかmanコマンドはインストールされていないので、「apt install man」を実行してmanコマンドを利用できるようにしておく。

sudo apt install man



manコマンドのインストール manコマンドのインストール
インストールしたばかりのWSLのDebianではmanコマンドもないようなので、追加しておこう。

 これら以外のツールについても、必要に応じてインストールしていただきたい。なおパッケージを追加し過ぎたり、設定を変更し過ぎて不明/不安定な状態になったら、設定を「リセット」して、また最初から環境設定をやり直すこともできる(割と簡単に環境を初期化できるのも、このアプリ版のWSLのメリットだ)。設定をリセットする方法については、以下のTIPSを参照のこと。

コマンドを英語モードで実行するには?

 以上の方法でコマンドのメッセージ出力などを日本語化することができたが、逆に英語モードで実行したいこともあるだろう。日本語モードだと、例えばdateコマンドの出力に日本語文字が混じっていて、後でテキスト処理する場合などに面倒になるからだ。

 デフォルトのロケール(Debianコンソール起動時のロケール設定)を切り替えるには、次のコマンドを実行してからシェルを再起動する。

# 英語にする場合
sudo update-locale LANG=en_US.UTF8

# 日本語にする場合
sudo update-locale LANG=ja_JP.UTF8



 デフォルト設定をそのままにして、特定のコマンドだけを英語モードで実行させたければ、そのコマンドの直前にロケール指定を付けて、「LANG=en_US.UTF8 date」のようにして実行する。詳細については、以下のTIPSの「ロケールを一時的に英語にする」の項目を参照のこと。

ロケールを指定してコマンドを実行する例 ロケールを指定してコマンドを実行する例
コマンドの直前にロケールを変更する指定を付けると(これはbashの記法)、そのコマンドだけ異なるロケールで実行できる。

「Tech TIPS」のインデックス

Tech TIPS

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。