Windows 10でUbuntuのシェル「Bash」が動き始める! だが日本語はどうなる?:Windows 10 The Latest(1/2 ページ)
Windows 10にLinuxサブシステムが実装され、UbuntuのBashが利用できるようになるという。その用途や仕組みは? 日本語に関するWindowsならではの宿命的課題にも触れる。
2016年4月6日付けで、Windows 10 Insider Previewのファーストリング向けの新ビルド「14316」がリリースされた。2016年夏に公開される予定のWindows 10のメジャーアップデート、Anniversary Update版に向けた新機能が多く搭載されている。
- 「Announcing Windows 10 Insider Preview Build 14316 Windows Experience Blog」[英語](Windows Experienceブログ)
このビルドの主な新機能は次の通りである。
- Ubuntu Bashのネイティブサポート
- Cortanaの端末同期機能
・バッテリー残容量低下通知
・Phoneを見つける/Phoneを鳴らす――Windows Phone端末紛失時の探索用機能
・デバイス間でのマップの目的地情報の共有 - Edge向けの新しい拡張機能――ピン留めボタンとOneNoteクリッパー(OneNoteへの貼り付け機能)など
- UWP版のSkypeプレビュー
- アクションセンターの改善――通知の優先度設定と、アプリごとの最大表示回数の制限など
- 絵文字デザインの変更――より分かりやすく、より印象的なデザインへの変更
- 個人用カラー設定の変更――全体的な明暗を変更する「白」「黒」モードの導入
- 仮想デスクトップの改善――特定のアプリを常に全仮想デスクトップに表示させる機能を追加
- バッテリー関連の設定の集約
- Windows Updateの更新可能時間の設定――日中の仕事時間帯は更新させないようにするなど
今回はこのうち、Ubuntu Bash機能について見ていく。なお、LinuxやUbuntuの使い方、Linuxのコマンドなどについては本稿では説明しないので、あらかじめご了承いただきたい。
Linuxサブシステムの概要
ビルド14316では、Linuxサブシステムが新たに導入され、Ubuntuディストリビューションのシェル「Bash」やその他の開発ツールなどが利用できるようになった。
- 「Bash on Ubuntu on Windows - Download Now!」[英語](Windows Command Line Tools For Developersブログ)
- 「Run Bash on Ubuntu on Windows」[英語](Building Apps for Windowsブログ)
まだ実装されたばかりで機能も不足しているが、CLI(コマンドラインインタフェース)による開発や運用管理などに利用できるとされている。
新しいLinuxサブシステム/Bashサポート機能の概要は次の通りである。
- 新しいWindows機能として「Bash on Ubuntu on Windows」を追加できるようになる。これは、「『Ubuntuディストリビューションに含まれるBash』を『Windows上でも実行できるようにする』」機能という意味
- この機能をインストールすると、Ubuntuディストリビューションをベースにしたファイルやコマンドなどがユーザーフォルダの下に展開される(ユーザーごとに固有の環境になる)
- 起動できるのはBash(/bin/bash)のプログラムであって、Linux(Ubuntuディストリビューション)全体ではない(Bash以外のシェルもインストールすれば利用可能)
- Ubuntuディストリビューション向けのプログラム(Intelのx64 CPU向けの64bit ELF実行ファイル)を、再コンパイルや変更なしに、すべてそのまま実行できる
- Bashからは、Coreutilsパッケージのような、テキストモードのコマンドのみを実行できる。不足するパッケージはUbuntuと同じように、apt-getなどで追加インストールできる
- X Window Systemはサポートされない(端末はテキスト出力のみ)。DISPLAY環境変数を設定して、外部のXサーバに表示させることは可能
- デーモン(Windowsのサービスやタスクのようなもの)機能はない。WebサーバやDBサーバのような、サーバプログラムの利用は対象外。基本的にはクライアントツールの実行のみを想定
- ネットワーク系のツールは、外部のシステムへ接続するようなもの(telnetやsshなど)は動作するが、ポートをリッスンするようなもの、ipconfigやnetstatのような自分の状態を表示するものは、(現状では)動作しない。pingやarpも動かない
- Windows側のファイルは「/mnt/c/〜」「/mnt/d/〜」などのパスで参照可能だが、Windows側のファイルシステムを“Windows流”に管理すること(ACLを変更するなど)は不可
- Windowsのプログラムを起動したり、逆にWindows側からLinuxコマンドを起動することは不可。パイプを使って両者の間でデータをやり取りすることも不可
- 文字コードはUTF-8となっており、日本語も表示可能。ただし現状では日本語入力は不可だし、表示が乱れるケースも少なくない
- Linuxのプログラムを実行するために「Windows Subsystem for Linux(WSL)」という新しいサブシステムが実装されている。WSLは、Ubuntuディストリビューションの開発支援を行うCanonical社との協力によって開発されている
- WSLは、Linuxを動作させる仮想マシンでもないし、Dockerのようなコンテナでもない。LinuxのAPIをWindowsのAPIを使ってエミュレーションして実行する「サブシステム」である
このBash on Ubuntu on Windowsはまだ開発途中につき、現状では不具合も多い。エミュレーション機能の不足により、動かないコマンドもあるし(プロセス管理やデバイス管理、ネットワーク管理系ツールなどに多い)、日本語だと文字表示が崩れたり、編集できないコマンドも少なくない。仕様なのか単なる未実装なのかも不明な点が少なくないが(Windows側コマンドの起動やパイプによるデータの受け渡しが不可など)、今後に期待したい。
Bashの導入手順
このビルドでBashを利用するには、64bit版のWindows 10環境が必要である。そしてInsider Previewビルドのファーストリングに参加して、ビルド14316以降をインストールする。
その上で「設定」アプリの「更新とセキュリティ」−「開発者向け」画面を開き、[開発者モード]を選択する。
開発者モードの有効化
これが最終的な仕様になるかどうかは不明だが、このビルドでWindows Subsystem for Linuxを利用するには、開発者モードを有効にする必要がある。一般ユーザー向けの機能ではないということか。
(1)これを選択する。
次にコントロールパネルの[プログラムと機能]から[Windowsの機能の有効化または無効化]の画面を開いて、[Windows Subsystem for Linux]のチェックボックスをオンにしてインストールする。PowerShellからインストールする場合は、「Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux」を実行すればよい。
Windows Subsystem for Linux機能のインストール
Windows Subsystem for Linuxは追加機能としてインストールする。
(1)このチェックボックスをオンにしてインストールする。
システムの再起動後、コマンドプロンプトを開いて「bash」コマンドを実行する。初回起動時はLinux環境の構築が行われるので数分かかるが、以後はすぐに起動できるようになる。Bashの環境(Bashから見えるLinuxのファイルシステム)はユーザーごとに固有であり、「%userprofile%\AppData\Local\Lxss\rootfs」以下に展開される。この中に「/etc」や「/usr」「/bin」「/var」などのフォルダが作成され、ファイルがコピーされる。
Bashの起動
最初はコマンドプロンプトから「bash」コマンドを実行する。
(1)コマンドプロンプト上からbashを起動する。以後は、bash.exeコマンドを実行すると、Bashのシェルウィンドウが表示されるようになる。
(2)インストールするかどうか聞かれるので、「y」と答えるとプログラムのインストールや、必要なパッケージのダウンロードと展開が行われる。
(3)しばらくするとインストールが完了し、このようにBashのプロンプトが表示される。この時点でもう使えるようになっている。
[スタート]メニューには、[Bash on Ubuntu on Windows]というメニューが登録されているので、以後はこれをクリックすればBashが起動する。
Copyright© Digital Advantage Corp. All Rights Reserved.