Windows 10でbashが使えるようになったと巷で話題の「Windows Subsystem for Linux」を使ってみましょう。
Windows Subsystem for Linuxは、開発者向けに提供されています。[設定]-[更新とセキュリティ]-[開発者向け]で、「開発者向け」オプションを選択しておいてください。
この新しいWindowsの機能は、2016/04/09現在、Insider Preview 14316での提供なので、なにも設定していない場合や企業内でWindows Updateでの配布が企業ポリシーに基づき行われているような場合は、まだ使うことができない状態です。
Insider Previewを入手できるようになるには、[設定]-[更新とセキュリティ]-[Windows Update]の[詳細オプション]でInsider Previewビルドを「ファースト」で入手できるようにしておきます。
Insider Previewは「ファースト」と「スロー」があります。「ファースト」とはいわゆる人柱モードで、開発者ならば誰でも心躍る最新機能を世界トップスピードで使えるようになるモードです。
このモードにするのに必要なのは「問題が発生したら怒るのではなく世界で初めて見つけたかもと心ワクワクして改善するための提案やアイデアをリクエストする」というフロンティアスピリットです。
無事にInsider Preview 14316が適用できたら[プログラムと機能]-[Windowsの機能の有効化または無効化]リンクから[Windowsの機能]ダイアログを表示しましょう。
ダイアログが開いたら「Windows Subsystem for Linux (Beta)」にチェックして[OK]ボタンをクリックします。
機能が有効になり再起動したら、OS画面左下の検索ボックスに[bash]といれてみましょう。検索ボックスを非表示にしているなら、左下のWindowsマークを軽くクリックした後に「bash」とキーボードをたたいてみましょう。
bashが第一候補として表示されます。
初回起動時はUbuntu on Windowsのインストールを行います。
つまり、「bashが使えるようになった!」というのは、bash.exeのようなコマンドプロンプト用実行ファイルがインストールされるということではなく、Windows上で動くUbuntuがインストールされるということになります。
また、この仕組みは仮想化により実現しているわけではなく、LinuxのシステムコールをリアルタイムにWindowsのシステムコールに変換する技術が使われている。
そのためインストールしてしまえば起動も早く、また、動作も早いため非常に快適です。
そういえば、Project AstoriaでAndroidアプリがWindows上でそのまま動く仕組みを開発していたと思うのですが、これもその流れの技術なのでしょうか。
インストールが終わったらlinuxらしいコマンドを入力しましょう。すなわち「ls」です。
WindowsのCドライブは/mnt/c/なのでC:\tempフォルダの中身を見たいときは、ls /mnt/c/tempになります。
まずは「sudo apt-get update」を入力して導入済パッケージのアップデートをしておきましょう。
Ubuntu on Windowsのバージョンを確認してみましょう。
lsb_release ?a と入力するとUbuntu 14.04.4 LTSとでてきます。
viなんかも使えますね。
あと日本語ですが普通に表示できますね。
ただ、このままだと表示はいいですが日本語入力手段がありませんね。
Ubuntu on Windowsを日本語環境にする
Ubuntu on Windowsを日本語環境にする方法は、Ubuntu 14.04.4 LTSを日本語環境にする方法と同じです。
まず、日本語関連のパッケージをインストールしましょう。
aptitude -y install language-pack-ja-base language-pack-ja ibus-mozc
しばらく時間がかかりますがインストールが完了したらシステム環境を日本語に変更します。
update-locale LANG=ja_JP.UTF-8 LANGUAGE="ja_JP:ja"
source /etc/default/locale
echo $LANG
なお、使えるようになったといっても、現時点では、Windows 10 Insider Preview 14316で、さらにWindows Subsystem for Linuxもベータ版だということをまず覚えておきましょう。何かあったとしても鬼の首を取ったように騒ぐのではなく、不具合見つけたら積極的に報告、特に日本語環境の不具合は私たちが報告しないと始まらないですからね。