連載
» 2018年06月28日 05時00分 公開

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

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

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

連載目次

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


 Windows 10に「WSL(Windows Subsystem for Linux)」をインストールすると、Linux向けのプログラム(バイナリファイル)をそのまま実行できるようになる。WSLのインストール方法や活用については、以下のTIPSなどを参照していただきたい。

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

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

日本語化の概要手順

 Ubuntuを日本語化する場合、どこまで日本語対応させるかによって、いろいろな選択肢があるが、本TIPSでは以下のコマンドを順に実行して日本語化することにする。

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

# 2.日本語言語パックのインストール
sudo apt -y install language-pack-ja

# 3.ロケールを日本語に設定
sudo update-locale LANG=ja_JP.UTF8

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

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

# 6.日本語マニュアルのインストール
sudo apt -y install manpages-ja manpages-ja-dev



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

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

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

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

手順2.日本語言語パックのインストール

 Ubuntuを日本語化するためには、最初に日本語の言語パック(language-pack-ja)をインストールする。これにより、日本語のメッセージなどが表示できるようになる。実行するコマンドは次の通り。

sudo apt -y install language-pack-ja



 「sudo」はroot権限で起動する指示(最初の1回はルートのパスワードを入力する必要がある)、「apt -y install 〜」はパッケージをインストールする指示(「-y」はオプション。これを付けると、ユーザーの確認なしでインストールされる)、「language-pack-ja」は日本語化されたリソースのパッケージ名である。

日本語パッケージのインストール 日本語パッケージのインストール
最初に日本語リソースが含まれたパッケージ「language-pack-ja」をインストールする。sudoを付けてroot権限でaptを実行すること。

手順3.日本語ロケールへの変更

 日本語パッケージをインストールしたら、次は「ロケール」を日本語に切り替える。「ロケール(locale)」とは、ユーザーインタフェースなどに利用する文字コードや言語、そのエンコード方法、日付や時刻、通貨などの書式、各種リソースなどをまとめておいて、簡単に切り替えるようにするための機能である。

 Linuxを日本語環境にするということは、ロケールをデフォルトの「en_US.UTF8」から「ja_JP.UTF8」に切り替えるということである(ロケール文字列の意味についてはLinux Hacks:「環境変数によるロケールの管理」参照)。日本語言語パッケージを導入すると「ja_JP」が使えるようになるので(利用可能なロケールの一覧は「locale -a」で確認可能)、それを次のコマンドで切り替える。

sudo update-locale LANG=ja_JP.UTF8



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

日本語ロケールへの変更 日本語ロケールへの変更
ロケールは、最初は「en_US.UTF8」となっているので、これを日本語用の「ja_JP.UTF8」に変更する。

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

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

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

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

 インストールされたばかりのUbuntuの「タイムゾーン(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)
この画面では[Tokyo]を選択する(Ubuntuのバージョンや設定状況によっては日本語で[東京]と表示されていることもある)。

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

手順6. 日本語マニュアルのインストール

 以上で日本語化は完了しているが、さらに日本語のマニュアルドキュメント(manコマンドで表示されるヘルプ。「man pages」ともいう)も導入しておこう。一般的なコマンドや開発ツールに対する日本語マニュアルのパッケージは、次のコマンドでインストールできる。

sudo apt -y install manpages-ja manpages-ja-dev



 ここで「E: パッケージ manpages-ja が見つかりません(E: Unable to locate package manpages-ja)」のようなエラーメッセージが表示された場合は、先のTIPSで述べた「apt update」を先に行ってパッケージのデータベースを更新しておくこと。

日本語マニュアルのインストール 日本語マニュアルのインストール
日本語化されたマニュアルはmanpages-ja(一般ユーザー向けコマンド)やmanpages-ja-dev(開発者向けツールのコマンド)などのパッケージとして用意されているので、これをインストールする。

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

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

 デフォルトのロケール(Ubuntuコンソール起動時のロケール設定)を英語にするには、「sudo update-locale LANG=en_US.UTF8」を実行してから、シェルを再起動する。

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

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

「Tech TIPS」のインデックス

Tech TIPS

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

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

メールマガジン登録

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