Windows Subsystem for Linuxを試してみた

Windows 10 Anniversary Updateの目玉機能の一つであるWindows上でLinuxが動くWindows Subsystem for Linuxを試してみた。このところWindowsが動く機器が手元になかったのだが、ふと思い立って死蔵しているネットブックにWindows10をインストールしてみたら遅いなりになんとか動いたのでちょっと遊んでみたというのが実情。全然実用にするつもりはないので実用的なレポートではない。あしからず。

WindowsでLinuxが稼働するまでの長い流れ

さて、Anniversary Updateのベータ版の頃から次のアップデートでWindows上でLinuxが動くようになると話題になっていたが、Anniversary Updateになったからといってすぐに使えるわけではない。

まずは設定アプリを起動して “更新とセキュリティ > 開発者向け” と進んでいって、Windowsを開発者モードに変更しなければいけない。次にコントロールパネルを起動して “プログラム > プログラムと機能 > Windowsの機能の有効化または無効化” とたどっていって “Windows Subsystem for Linux” のチェックボックスをONにしなければいけない。なかなか一筋縄では行かない。

これでbash.exeというコマンドがインストールされるのでコマンドプロンプトからbash.exeと入力して実行するとWindows Subsystem for Linuxのインストールが始まる。もう使えるのかと思ったらこれからインストールだ。ここでLinuxのユーザー名とパスワードを決める。

そして長い道のりを経てやっと使えるようになる。一度使えるようになるとスタートメニューに “Bash on Ubuntu on Windows” というアイコンが現れる。まさにUbuntuのアイコンだ。

UbuntuのTerminalと同じ

Ubuntuのアイコンを実行すると、Terminal画面が出てくる。UbuntuのTerminalと同じ感覚で使える。最初から使えるコマンドは少ないが、エディタはnanoとvimが使える。emacsは標準ではインストールされていないのもUbuntuと同じだ。

Aptが使える

最初からaptコマンドがインストールされていて、Ubuntuのリポジトリを参照して好きなコマンドをインストールできるところまでUbuntuそのままだ。もちろんGUI環境はないのでCUIで使えるコマンドだけだが、UbuntuのTerminalでできることは大抵のことができると考えていいだろう。

試しにGUI環境が必要なアプリをインストールしてみると、エラーもなくインストールできたが、実行しようとするとエラーで実行できなかった。

LinuxからみたWindowsファイルシステムとWindowsからみたLinuxファイルシステム

LinuxのホームディレクトリはWindowsから見ると “C:\Users\Windowsのユーザー名\AppData\Local\lxss\home\Linuxのユーザー名” になるようだ。逆にWindowsのC:\はLinuxからは “/mnt/c/” として認識される。

Linuxから再帰的に/mnt/c/Users/Windowsのユーザー名/AppData/Local/lxss/home/にアクセスしようとするとアクセスを拒否された。実際にはAppData/lxss/とLinuxのルートは完全に一致しないので下手にアクセスできないほうがいいだろう。

日本語対応は完全でない

基本的に日本語環境だとLinuxのメッセージも日本語対応になるが、一部文字がかけてしまう。Excelで画面では表示されているのに印刷してみると一部が欠けるアレだ。要はマイクロソフトは今も昔も日本語はちゃんと表示できないということだ。

今のところはおもちゃだが

まだベータ版という位置づけであるし、実際に実用になるかというと単にLinuxのコマンドが動いたと言って喜んでいるだけだ。将来的にはもっといろいろできるようになるのだろう。というかLinuxに流れるユーザーの引き止め策なのか。