Windows10でBashを使ってみる

/

BashがWindowsにネイティブ対応

2016年8月になってWindows10の二回目のAniversary Updateが実施されました。
色々と変更されているようですが、個人的にはBashのネイティブ対応が気になっていたので試してみました。

準備

Bashをインストールする前にWindows10をアップデートして設定を変更しておきします。

Aniversary Update

BashはWindows10の2回目のAniversary Updateから正式対応なのでアップデートする必要がありますが、設定によってはすでに自動アップデートされている場合もあるのでまずは現在のバージョンを確認してみます。

バージョンの確認

スタートメニューから設定 > システム > バージョン情報を選び、バージョンが1607となっていればアップデートは既に適用されています。

もしバージョンがそれ以下の場合にはアップデートが必要になるので設定の更新とセキュリティからアップデートを実行してください。

設定の変更

Windows10でBashを使うためにはWindowsの設定を開発者モードに変更し、さらにLinuxの機能をonにする必要があります。

設定を開発者向けモードに変更

設定 > 更新とセキュリティ > 開発者向けモードをOnにする。

Linuxの機能をオンにする

コントローラーパネル > プログラムと機能 > Windowsの機能の有効化または無効化(*要管理者権限) > Windows Subsystem for Linux(Beta)にチェックを入れた後にOKをクリックして再起動を実行します。

Bashのインストール

設定が済んだらWindows ボタン > Bashで検索 > Bashをクリック or コマンドプロンプト上から「Bash」と入力してLinuxのディストリビューションであるubuntuをインストールします。
インストール時にはubuntuのインストールの許可を聞かれるので「y」を入力してEnter押すとWindowsストアからUbuntuがダウンロードされます。
その後ubuntu用のユーザー名とパスワードの設定が済むとBashが使えるようになります。

Bashの実行

Windows用のBashの正式名称は「Bash on Ubuntu on Windows」なので検索をするかスタートメニューのアプリケーションの一覧からBashを選ぶと先ほど入力したユーザー名でBashが起動します。

Bash on Ubuntu on Windowsの設定

起動した時に僕の環境だと文字が小さかったのでフォントの設定を変更しました。

文字の大きさの変更

メニューバーの何もない所で右クリック > プロパティ > フォントタブの大きさから変更します。

背景と文字の色の変更

真っ黒な背景も画面内で浮いていたので、プロパティの画面の色タブから背景を薄いグレー(238,238,238)にして文字を濃いグレー(51,51,51)にしました。
ついでに背景が少し透けていると若干オシャレになる気がするので不透明度をちょっとだけ下げました(95%)。

ペーストを出来るようにする

初期設定だとターミナル上でペーストが出来ないのでプロパティのオプションタブから編集オプションの簡易編集モードにチェックを入れます。簡易編集モードにチェックを入れるとBashの外でクリップボードにコピーしたテキストを右クリックでペースト出来るようになります。

Bashを使ってみる

とりあえずアップデートを実行します。
Bashを起動した時に利用できるアップデートがあると、画面上に通知されるようです。

$ sudo apt-get update -y

次にgitを入れてみます。

$ sudo apt-get install git -y

$ git --version
git version 1.9.1

無事インストール出来ました。

ついでにインストールされたubuntuのバージョンを調べてみます。

$cat /etc/lsb-release

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.4 LTS"

安定版の14.04LTSがインストールされています。
現在のubuntuの最新版である16.04LTSは2016/04リリースなのでタイミング的にこれは当然だと思いますが、これから先ubuntuのアップデートはどんな形で対応していくかが気になります。

BashからWindowsのフォルダへの接続

BashからハードドライブのWindows領域へのアクセスはmntディレクトリから行います。

$ ls /mnt
# Windowsが接続しているドライブが表示される
c d e
# Cドライブの表示
$ ls /mnt/c

bashからWindowsの領域のファイルも問題なく参照出来ますし、試しにテキストファイルを作ってBashから更新したところWindows側でも更新が確認出来たのでとりあえずは基本的な部分で機能しているようです。しかしLinuxとWindowsではシステムが元々は別物なので実行したい事がどこまで期待どおりに動いてくれるかどうかは検証やノウハウが必要になるかもしれません。

感想

まだ少ししか試していませんがWindowsでBashが動いている事にちょっと感動しました。
Windowストアからubuntuがダウンロード出来る日が来るとは凄い時代になったもんだと思います。
もの珍しさは置いておいても今までMacユーザーがPhotoshopとターミナルを同時に使っているのを横で指を咥えて見ていたので、WindowsがBashに対応したことで作業が色々と捗ってくれればいいかなと思います。

参照
Windows 10 Anniversary UpdateをしてBashを使う方法