第4回では、Windows Subsystem for Linux(以下WSL)を使う上での環境整備などを解説する。WindowsのコンソールとWSLの相性や日本語表示時の表示の問題などがある。

 コンソールの問題はいくつかの解決策を挙げるが、具体的な方法としてはUbuntu Linuxにおけるアプリインストールの方法の解説を兼ねて、X Windowを導入してみることにする。

WSLのコンソール問題

 WSLを使って最初に気になるのが、カラー表示したときに青で表示される文字の輝度が暗く、ディスプレイなどによっては非常に読みにくくなる点だ。ディスプレイの特性や輝度設定によっても異なるが、基本的に「青」自体の輝度が低く、カラー表示を行うlsやviなどの表示で文字が読めないことがある。

 Windowsのコンソールは、VT100互換のエスケープシーケンスを処理できるようになったが、このエスケープシーケンスでは、文字色の指定は8色で、高輝度と通常輝度を別に指定して16色表示を行える。このとき、高輝度の「青」がかなり暗い設定値になっているためだ。これはコンソールのプロパティ(画面1)やレジストリで16色のRGB値は設定可能。ただ、RGB値による設定であるために直感的ではないかもしれない。

画面1●WSL内では色付きの文字の輝度が低く見にくいことがある
画面1●WSL内では色付きの文字の輝度が低く見にくいことがある
[画像のクリックで拡大表示]
画面1続き●プロパティの画面の色タブにある、カラーパレットを選択してRGB値を変更することで、表示色を変えることができ、見やすい色に変更できる
画面1続き●プロパティの画面の色タブにある、カラーパレットを選択してRGB値を変更することで、表示色を変えることができ、見やすい色に変更できる
[画像のクリックで拡大表示]

 日本語表示は不可能ではないものの、エスケープシーケンスを利用したとき、カーソルが本来出るべき場所の手前あたりに出てしまい、一時的に文字が崩れたように見えることがある。カーソルが別の行に移ると表示が回復したり、あるいは、コンソールウインドウを動かすと表示が回復することがある。筆者の環境では、初回のbash起動時のパスワード設定で必ず表示が崩れていた(画面2)。

画面2●bash.exeを初回にインストールしたときの表示なども、パスワード入力を促す表示が欠けてしまう。ただし、何も出ていないのではなく、表示後のカーソルの位置がおかしく、一時的に見えなくなっているだけのようだ
画面2●bash.exeを初回にインストールしたときの表示なども、パスワード入力を促す表示が欠けてしまう。ただし、何も出ていないのではなく、表示後のカーソルの位置がおかしく、一時的に見えなくなっているだけのようだ
[画像のクリックで拡大表示]