ここから本文です

Windows 10のLinux/Ubuntu互換環境でbashを使う

@IT 8月9日(火)6時10分配信

 Windows 10のバージョン1607(ビルド14393、Anniversary Update)では、Ubuntu互換の実行環境「Windows Subsystem for Linux(WSL)」と「bash(Bourne Again Shell)」が新たに導入された(64bit版でのみ利用可能)。これを利用すると、LinuxのUbuntuディストリビューションで用意されているプログラム(Ubuntu向けのバイナリパッケージやソースコードなど)をそのまま、WSL上で実行できるようになる。

【その他の画像】開発者モードは、[設定]アプリで[開発者向け]機能を有効にする

 今までも、Windows上でUNIX/Linuxのプログラムを実行するツールや互換実行環境(SUAやCygwin、MSYSなど)があった(TIPS「【総まとめ】Windowsコマンドプロンプトの入門から使いこなしまでの記事」参照)。だが、このWSLは、Ubuntu向けに配布されているパッケージをそのままダウンロードしてインストールおよび実行できる点が異なっている。SUAやCygwin向けに特別に作られたものを用意しなくても、現在広く普及しているUbuntu向けのプログラムがそのまま使えるのが利点である(ただしサーバプログラムなどはサポートされない)。

 本TIPSではWindows 10バージョン1607以降を前提として、WSLとその上で動作するbashコマンドをインストールする方法を紹介する。

 ところでWindows 10のバージョン1607で利用できるWSL機能はまだβ版である。Ubuntuで動作するコマンドなどが全て利用できるわけではないし、文字表示などに一部不具合なども見受けられる(特に日本語文字表示にはまだ問題が多い)。本格的な利用のためには、今後の開発を待つ必要がある。

●手順1――WSL機能を追加する

 WSLを利用するには、管理者権限のあるアカウントでサインインし、[スタート]ボタンを右クリックするか、[Windows]+[X]キーでクイックアクセスメニューを出して、一番上にある[プログラムと機能]を起動する。

 [プログラムと機能]画面が表示されたら、左側のメニューから[Windowsの機能の有効化または無効化]を選択する。

 機能一覧の画面が表示されたら、[Windows Subsystem for Linux (Beta)]のチェックボックスをオンにして、機能を追加する。再起動が求められるので、指示に従って一度システムを再起動する。

●手順2――開発者モードを有効にする

 再起動後、また管理者権限のあるアカウントでサインインし、[スタート]メニューから[設定]アプリを起動する。そして以下の画面のように、[更新とセキュリティ]-[開発者向け]-[開発者向け機能を使う]で[開発者モード]を選択し、画面を閉じる。

 [開発者モード]を選択すると、次のような警告画面が表示されるので、内容を確認して[はい]をクリックする

○コラム「ssh ポートのオープンに注意」
 執筆時点では、「開発者モード」を有効にすると、sshのポート(TCPの22番ポート)がオープンされ、外部からsshでログインできるようになるので(外部から接続するとコマンドプロンプトcmd.exeが起動する)、注意すべきだ。
 不用意に外部から接続されたくなければ、ファイアウォールで「SSH Server Proxy Service」のポートをローカルネットワーク以外には許可しないように制限したり、(SSH以外にも、既に多数のポート/サービスが外部に向けてオープンされているので)全てのユーザーアカウントとパスワードを容易に推測されないものに変更したりすること。


●手順3――bashコマンドを起動して環境をセットアップする

 以上の操作で準備は完了したので、次はWSLの実行環境を用意する。この手順3の操作は、WSLやbashを利用したいユーザーごとに最初に1回行う必要がある。管理者権限がない、一般のユーザーアカウントであってもWSLを利用できる。

 まずコマンドプロンプトを起動し、「bash」コマンドを実行する。するとWSLをインストールするかどうかを確認するメッセージが表示されるので、「y」を入力して先へ進む。

 インストールを許可すると、WSLで利用する環境イメージ(Ubuntuのファイルシステムやデフォルトのツールなど)がローカルのユーザーフォルダの中に展開される。ユーザーごとに、約600Mbytes弱のファイル領域が必要となる(これは本記事執筆時点でのサイズ。今後増加すると予想される)。

 その後、Ubuntu環境で利用するユーザー名とパスワードの入力が求められるので、適当なものを指定する。このユーザー名はWindowsのユーザー名とは別に管理されているので(WSLの中でのみ有効なユーザー名となる)、異なる名前にしてもよいし、同じ名前にしてもよい(ただし日本語のユーザー名は避けた方がよいだろう)。

 以上の入力が済むと最後の処理が行われ、WSL環境がセットアップされる。

●手順4――bashシェルの起動

 以上でWSLとbashのインストールは完了である。WSLを使いたい場合は、bashを起動して、コマンドを入力・実行すればよい。

 それには、[スタート]メニューに追加された[Bash on Ubuntu on Windows]という項目を選択してbashを起動する。よく使うなら、このメニューを右クリックして、スタート画面やタスクバーにピン留めしておけばよい。

 UbuntuやLinuxについてはここでは詳しく述べないが、コマンドの説明はmanコマンドで調べたり、不足しているパッケージはapt-getコマンドで取得したりすればよい。以下の連載なども参照のこと。

 またWindows 10側のファイルシステムは「/mnt/c/~」や「/mnt/d/~」などで参照できる。

●まだβ版のWSLには不具合もある

 執筆時点では、このWSLはまだβ版であり、例えば日本語文字列が正しく表示されないことがある。

 こんな場合は、画面を再描画させたり(ツールにもよるが、[Ctrl]+[L]や[Ctrl]+[R]で再描画できることが多い)、bashのウィンドウを一度最小化してから元の状態に戻したり、スクロールさせたりする、などの操作で正しく表示されることがある。

 また、「ロケール」(言語や地域の設定)をデフォルトの日本語モード(ja_JP.UTF-8)から英語モードにしておくと(bash上で「LANG=en_US.UTF-8」や「LANG=C.UTF-8」などを実行する)、表示の乱れが少ないようだ。WSLはまだβ版であることを理解して利用していただきたい。

[打越浩幸,デジタルアドバンテージ]

最終更新:8月9日(火)6時10分

@IT

TEDカンファレンスのプレゼンテーション動画

暗闇で光るサメと驚くほど美しい海洋生物たち
波のほんの数メートル下で、海洋生物学者であり、ナショナルジオグラフィックのエクスプローラーかつ写真家のデビッド・グルーバーは、素晴らしいものを発見しました。海の薄暗い青い光の中で様々な色の蛍光を発する驚くべき新しい海洋生物たちです。彼と一緒に生体蛍光のサメ、タツノオトシゴ、ウミガメ、その他の海洋生物を探し求める旅に出て、この光る生物たちがどのように私たちの脳への新たな理解を明らかにしたのかを探りましょう。[new]