はつねの日記

Kinect, Windows 10 UWP, Windows Azure, IoT, 電子工作

bash on ubuntu on Windwos 10を使ってみよう

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ビルドを「ファースト」で入手できるようにしておきます。

image

Insider Previewは「ファースト」と「スロー」があります。「ファースト」とはいわゆる人柱モードで、開発者ならば誰でも心躍る最新機能を世界トップスピードで使えるようになるモードです。

このモードにするのに必要なのは「問題が発生したら怒るのではなく世界で初めて見つけたかもと心ワクワクして改善するための提案やアイデアをリクエストする」というフロンティアスピリットです。

 

無事にInsider Preview 14316が適用できたら[プログラムと機能]-[Windowsの機能の有効化または無効化]リンクから[Windowsの機能]ダイアログを表示しましょう。

image

ダイアログが開いたら「Windows Subsystem for Linux (Beta)」にチェックして[OK]ボタンをクリックします。

 

機能が有効になり再起動したら、OS画面左下の検索ボックスに[bash]といれてみましょう。検索ボックスを非表示にしているなら、左下のWindowsマークを軽くクリックした後に「bash」とキーボードをたたいてみましょう。

image

bashが第一候補として表示されます。

 

image

初回起動時は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になります。

image

 

まずは「sudo apt-get update」を入力して導入済パッケージのアップデートをしておきましょう。

 

Ubuntu on Windowsのバージョンを確認してみましょう。

lsb_release ?a と入力するとUbuntu 14.04.4 LTSとでてきます。

image

 

viなんかも使えますね。

image

 

あと日本語ですが普通に表示できますね。

image

ただ、このままだと表示はいいですが日本語入力手段がありませんね。

 

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

image

 

なお、使えるようになったといっても、現時点では、Windows 10 Insider Preview 14316で、さらにWindows Subsystem for Linuxベータ版だということをまず覚えておきましょう。何かあったとしても鬼の首を取ったように騒ぐのではなく、不具合見つけたら積極的に報告、特に日本語環境の不具合は私たちが報告しないと始まらないですからね。