2022/03/14追記
WSL2上のUbuntuで同様の設定を行った内容を別記事にしました。
2019/04/13 更新
Windows10 バージョン1809 (October 2018 Update)で再インストールしたので、それに合わせて記事を見直しました。
前回はWindows10のPCにWindows Subsystem for Linux (WSL)を使ってDebian GNU/Linuxをインストールしたことを紹介しました。
今回はこのDebian GNU/Linuxの環境を整備していきたいと思います。
Debian GNU/Linuxのアップデート
Linuxをインストールしたあとはパッケージの状態を最新に更新することをお勧めします。
ただ、デフォルトに取得するパッケージはちょっと少ないので/etc/apt/sources.listを下記のように変更します。
まずsudoコマンド経由でviを起動して/etc/apt/sources.listを編集します。
$ sudo vi /etc/apt/sources.list
sudoコマンドを実行するとパスワードを聞かれますが、現在使っているLinuxアカウントのパスワードを入力します。
viが起動したらsources.listを次のように編集します。
deb http://deb.debian.org/debian stretch main contrib non-free deb http://deb.debian.org/debian stretch-updates main contrib non-free deb http://security.debian.org/debian-security/ stretch/updates main contrib non-free deb http://ftp.debian.org/debian stretch-backports main contrib non-free
各行の後ろに「contrib non-free」をつけただけです。
あとはパッケージ一覧のデータベースを更新します。
$ sudo apt-get update Get:1 http://security.debian.org/debian-security stretch/updates InRelease [94.3 kB] Ign:2 http://deb.debian.org/debian stretch InRelease Get:3 http://deb.debian.org/debian stretch-updates InRelease [91.0 kB] Get:4 http://ftp.debian.org/debian stretch-backports InRelease [91.9 kB] Get:5 http://deb.debian.org/debian stretch Release [118 kB] Get:6 http://deb.debian.org/debian stretch Release.gpg [2,434 B] Get:7 http://security.debian.org/debian-security stretch/updates/main amd64 Packages [484 kB] Get:8 http://security.debian.org/debian-security stretch/updates/main Translation-en [215 kB] Get:9 http://security.debian.org/debian-security stretch/updates/contrib amd64 Packages [1,760 B] Get:10 http://security.debian.org/debian-security stretch/updates/contrib Translation-en [1,759 B] Get:11 http://security.debian.org/debian-security stretch/updates/non-free amd64 Packages [1,600 B] Get:12 http://security.debian.org/debian-security stretch/updates/non-free Translation-en [691 B] Get:13 http://deb.debian.org/debian stretch-updates/main amd64 Packages [11.1 kB] Get:14 http://deb.debian.org/debian stretch-updates/main Translation-en [11.1 kB] Get:15 http://deb.debian.org/debian stretch/main amd64 Packages [7,084 kB] Get:16 http://ftp.debian.org/debian stretch-backports/main amd64 Packages [591 kB] Get:17 http://deb.debian.org/debian stretch/main Translation-en [5,384 kB] Get:18 http://ftp.debian.org/debian stretch-backports/main Translation-en [456 kB] Get:19 http://ftp.debian.org/debian stretch-backports/contrib amd64 Packages [11.1 kB] Get:20 http://ftp.debian.org/debian stretch-backports/contrib Translation-en [7,540 B] Get:21 http://ftp.debian.org/debian stretch-backports/non-free amd64 Packages [33.1 kB] Get:22 http://ftp.debian.org/debian stretch-backports/non-free Translation-en [38.0 kB] Get:23 http://deb.debian.org/debian stretch/contrib amd64 Packages [50.9 kB] Get:24 http://deb.debian.org/debian stretch/contrib Translation-en [45.9 kB] Get:25 http://deb.debian.org/debian stretch/non-free amd64 Packages [78.3 kB] Get:26 http://deb.debian.org/debian stretch/non-free Translation-en [80.3 kB] Fetched 15.0 MB in 8s (1,860 kB/s) Reading package lists... Done
エラーがないことを確認して更新されたパッケージをインストールします。
$ sudo apt-get upgrade Reading package lists... Done Building dependency tree Reading state information... Done Calculating upgrade... Done The following packages will be upgraded: base-files gnupg gnupg-agent gpgv libc-bin libc-l10n libc6 libssl1.0.2 libsystemd0 libudev1 locales multiarch-support perl-base systemd systemd-sysv tzdata udev wget 18 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Need to get 17.8 MB of archives. After this operation, 35.8 kB of additional disk space will be used. Do you want to continue? [Y/n]
37個のパッケージに更新があるようです。問題がなければ「Y」を入力します。
これで更新のあったパッケージのダウンロードとインストールが開始されます。回線やCPU能力によりますが10分程度かかるかもしれません。
Get:1 http://security.debian.org/debian-security stretch/updates/main amd64 libsystemd0 amd64 232-25+deb9u11 [281 kB] Get:2 http://deb.debian.org/debian stretch/main amd64 base-files amd64 9.9+deb9u8 [67.4 kB] Get:3 http://security.debian.org/debian-security stretch/updates/main amd64 systemd amd64 232-25+deb9u11 [2,471 kB] Get:4 http://deb.debian.org/debian stretch/main amd64 perl-base amd64 5.24.1-3+deb9u5 [1,345 kB] Get:5 http://security.debian.org/debian-security stretch/updates/main amd64 udev amd64 232-25+deb9u11 [1,115 kB] (省略) Setting up libc-l10n (2.24-11+deb9u4) ... Setting up wget (1.18-5+deb9u3) ... Setting up gnupg-agent (2.1.18-8~deb9u4) ... Setting up locales (2.24-11+deb9u4) ... Generating locales (this might take a while)... en_US.UTF-8... done Generation complete. Setting up gnupg (2.1.18-8~deb9u4) ...
最後までいったら、もうダウンロードしたパッケージは不要なので削除しておきます。
$ sudo apt-get clean
タイムゾーン
時間を確認して見るとタイムゾーンが「DST」と表示されてしまいます。
$ date Wed Apr 10 21:03:27 DST 2019
Windowsが日本時間で動いているのならばタイムゾーンは「JST」となるのが正解です。
タイムゾーンを修正するには下記のコマンドを利用します。
$ sudo dpkg-reconfigure tzdata
これで次のような画面がになるので「Asia」→「Tokyo」と選択します。「<OK>」にハイライトを移動させるにはTABキーを押します。
これで時間を確認するとJSTとなっているはずです。
$ date Wed Apr 10 21:04:30 JST 2019
ロケール
デフォルトでは英語ロケールしかサポートしていなくていろいろ困りそうです。
日本語のロケール(ja_JP.UTF-8)用のデータも生成するように設定します。
$ sudo dpkg-reconfigure locales
下記のような画面になったらカーソルキーで「ja_JP.UTF-8」を探し、スペースキーで「*」マークをつけます。
TABキーで<OK>を選択したらリターンキーを押します。
次にデフォルトのロケールを聞かれますが「None」のままとしておきます。
これで日本語のロケールデータが生成されます。
これでLANG環境変数を「ja_JP.UTF-8」にすればコマンド等の出力結果が日本語になります。例えば上で試したdateコマンドの場合は下記のようになります。
$ export LANG=ja_JP.UTF-8 $ export LANGUAGE=$LANG $ export LC_ALL=$LANG $ date 2019年 4月 10日 水曜日 21:06:35 JST
問題がなければ、ホームディレクトリの.bashrcに言語の設定を追加しておきましょう。
$ echo export LANG=ja_JP.UTF-8 >> ~/.bashrc $ echo export LANGUAGE=ja_JP.UTF-8 >> ~/.bashrc $ echo export LC_ALL=ja_JP.UTF-8 >> ~/.bashrc
日本語環境の導入
デフォルトのままでは日本語に対応したビューワ(lv, less)もはいっていません。
最低限のパッケージはtask-japaneseパッケージを入れると入ります。
$ sudo apt-get install task-japanese パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 以下の追加パッケージがインストールされます: bdf2psf bzip2 fbterm fontconfig-config fonts-dejavu-core laptop-detect libexpat1 libfontconfig1 libfontenc1 libfreetype6 libgdbm3 libperl5.24 libpng16-16 libx86-1 libxfont1 lv manpages-ja manpages-ja-dev nkf perl perl-modules-5.24 psf-unifont rename tasksel tasksel-data ttf-unifont ucf unifont x11-common xfonts-encodings xfonts-unifont xfonts-utils xz-utils 提案パッケージ: bzip2-doc man-browser perl-doc libterm-readline-gnu-perl | libterm-readline-perl-perl make unifont-bin 以下のパッケージが新たにインストールされます: bdf2psf bzip2 fbterm fontconfig-config fonts-dejavu-core laptop-detect libexpat1 libfontconfig1 libfontenc1 libfreetype6 libgdbm3 libperl5.24 libpng16-16 libx86-1 libxfont1 lv manpages-ja manpages-ja-dev nkf perl perl-modules-5.24 psf-unifont rename task-japanese tasksel tasksel-data ttf-unifont ucf unifont x11-common xfonts-encodings xfonts-unifont xfonts-utils xz-utils アップグレード: 0 個、新規インストール: 34 個、削除: 0 個、保留: 0 個。 24.5 MB のアーカイブを取得する必要があります。 この操作後に追加で 87.1 MB のディスク容量が消費されます。 続行しますか? [Y/n]
87MBほど消費するようです。
fbtermとかx11系のパッケージとか不要そうなのもありますが、とりあえず「Y」を選択してインストールしてしまいます。
これでman(オンラインヘルプ)のデータが入ったのですが、肝心のmanコマンドがないのでこれもインストールしておきます。
$ sudo apt-get install man-db
テキストファイルを閲覧するソフトとして「lv」が入ったので、これをデフォルトで使うように設定しておきます。
$ export PAGE=lv $ export MANPAGE=lv
これでオンラインマニュアルを見ると日本語でちゃんと表示されるはずです。
問題なければこの設定も.bashrcに追加しておきましょう。
$ echo export PAGE=lv >> .bashrc $ echo export MANPAGE=lv >> .bashrc
Beep音の消去
細かいことですがデフォルトのままだとしょっちゅうBeep音が鳴って鬱陶しいと思います。
これも消しておきましょう。
$ echo set bell-style none >> .inputrc
これでいったんDebianを終了して、再度起動させればBeep音はなくなるはずです。
まとめ
今回はWindows Subsystem for Linux + Debian GNU/Linuxの最低限の環境整備を行いました。
日本語のファイルも見ることができるようになった(編集には問題ありますが)ので、これで一通りは使えるようになったと思います。
次回はWindows Subsystem for Linuxのターミナル画面をなんとかしたいと思います。
コメント
[…] *この項目に関して「メモ置き場のブログ」を参照させて戴きました。詳細に書かれています。 […]