Edited at

Windows Subsystem for Linuxをインストールしてみよう!


はじめに

日本時間の8月3日から提供が開始されたWindows 10のAnniversary Updateで、ついにBashがやってきました。

これでいろいろなストレスから解放されるはず。さっそくインストールして、使ってみましょう!


2017/11/02追記

Windows 10 Fall Creators Updateにおいてインストール作業が簡略化されました。

また、名称も「Bash on Ubuntu on Windows」から「Windows Subsystem for Linux」に変更されています。

旧バージョンをお使いの方にもわかるようにその都度注釈を入れていきます。



インストール


機能の有効化

まず、Windows側でLinux Subsystemを有効化する必要がありあす。

スタートボタンを右クリックして、アプリと機能をクリックします。

app_and_feature.png

さらに、右上にあるプログラムと機能をクリックします。

program_and_feature.png

左側の一覧から、Windowsの機能の有効化または無効化をクリックします。

ubuntu02.png

Windows Subsystem for Linux (Beta)を探し、チェックを入れます。


注意) Fall Creators UpdateではBetaが取れています。


ubuntu03.png

インストールが始まるので、終わるまで待ちます。終わったら再起動してください。

ubuntu04.png

ubuntu05.png


開発者モードの有効化 (Fall Creators Updateでは不要)

再起動したらスタートメニューから「設定」→「更新とセキュリティ」と進み、

左側のメニューから開発者向けを選択して開発者モードにチェックを入れます。

ubuntu06.png

注意書が出ますが、そのまま進めましょう。

ubuntu07.png


bashのインストール (Fall Creators Update以降)


古いWSL環境の削除

もしCreators Update等から環境を引き継いでいる場合、安全のために古いWSL環境を削除しておきます。

まずコマンドプロンプトまたはPowerShellを開き、次のコマンドを入力して削除します。

このとき全てのデータが消えますので、必要なデータはバックアップを取得してから行ってください。

以下に実行例を示します。

> lxrun /uninstall

警告: lxrun.exe は、Linux ディストリビューションのためにレガシ Windows サブシステムを構成するだけに使用されます。
ディストリビューションは次の Windows ストアを訪問してインストールすることができます:
https://aka.ms/wslstore

これにより Windows 上の Ubuntu がアンインストールされます。
Ubuntu 環境および次の項目を除くすべての変更内容と新しいアプリケーションが削除されます。

C:\Users\USERNAME\AppData\Local\lxss\home
C:\Users\USERNAME\AppData\Local\lxss
oot

続行するには、"y" を入力してください: y
アンインストールしています...


ストアからWSLをインストール

続いてMicrosoft Storeをスタートから探して開きます。

そして、右上の検索窓でUbuntuと検索します。

wsl04.PNG

検索に引っかかってきたUbuntuをクリックします。

wsl05.PNG

最後に入手ボタンをクリックします。

wsl06.PNG

インストール作業が終わったら、スタートに追加されるUbuntuを起動して、インストールの完了を待ちます。

完了すると、内部で使用するユーザー名とパスワードの設定を求められるので、プロンプトに従って入力します。

なお、パスワードは入力しても表示されませんので、正確に入力してください。

wsl07.PNG


初期設定

このままではちょっと不便なところがあるので、さくっと初期設定してしまいます。


リポジトリの変更

デフォルトでは海外サーバーにリポジトリのデータを取りに行ってしまいます。

これだと通信速度が遅くなってしまうので、日本のサーバーに切り替えます。

次のコマンドを入力して、切り替えてください。

sudo sed -i -e 's%http://.*.ubuntu.com%http://ftp.jaist.ac.jp/pub/Linux%g' /etc/apt/sources.list


パッケージのアップデート

あくまでLinuxが乗っかっているので、パッケージのアップデートも日々行ってください。

コマンドはいつも通りですが、紹介します。

sudo apt update

sudo apt upgrade


諸注意

まだ若干不安定で、aptコマンドの進捗バーがちらついたりなど

色々おかしくなることがありますが、温かい目で見守っていきましょう。

たまに描画がストップして、固まったようになってしまうことがありますが、

こうなった場合は一度Enterキーを押してあげると治りますので試してみてください。

それではLinuxな世界を、楽しみましょう!


アンインストール

なんか環境がぐちゃぐちゃになってやり直したくなったら以下の通りにすると再インストールできます。

管理者権限でcmdを立ち上げて実行してください。

lxrun /uninstall /full

lxrun /install


試してみたもの

色々インストールして動かしてみましたが、これぐらいは使えそうだったと言うことを紹介いたします。


Vim

言わずもがな。

sudo apt install vim-nox


Git

これもOK

sudo apt install git


wget/curl

デフォルトでインストールされていました。バッチリ動作。


LaTeX

意外と大丈夫だった。途中で失敗したりしたけど、

もう一回同じコマンドを入力したらちゃんとインストールできた。

(ちょっと怖い)

sudo apt install texlive-full


GCC

これがやりたかったんですよ~

sudo apt install build-essential


zsh

Win10 1804からはchshもきちんと有効になりました。

sudo apt install zsh zsh-syntax-highlighting

chsh -s /bin/zsh


pyenv(anyenv)

中途半端に日本語化していたせいでこけてしまった。

localeを編集して適用すればOK。

anyenvとpyenvのインストールは省略。

ただしログインに時間がかかるようになるので注意。

sudo vim /etc/locale.gen

(ja_JP.UTF-8のコメントを外す)
sudo locale-gen
pyenv install 3.5.2


GHC(Haskell)

Creators Updateにて動作することを確認。

しかしghcやghciやrunghcの起動にいちいち2分ぐらいかかる。

起動してしまえばそれなりの速度で動くことは確認出来た。

sudo apt install ghc


Java

OpenJDKを使いましょう。Ubuntu18.04の場合は以下のコマンドでOkです。

$ sudo apt install openjdk-11-jdk


Scala

Creators UpdateでJava(というかJVM)が動くようになったので入れてみた。

あっさり動作してしまった。


また確認できたら追記します。