連載
» 2016年04月11日 05時00分 UPDATE

Windows 10 The Latest:Windows 10でUbuntuのシェル「Bash」が動き始める! だが日本語はどうなる? (1/2)

Windows 10にLinuxサブシステムが実装され、UbuntuのBashが利用できるようになるという。その用途や仕組みは? 日本語に関するWindowsならではの宿命的課題にも触れる。

[打越浩幸,デジタルアドバンテージ]
Windows 10 The Latest
Windows Server Insider


「Windows 10 The Latest」のインデックス

連載目次

 2016年4月6日付けで、Windows 10 Insider Previewのファーストリング向けの新ビルド「14316」がリリースされた。2016年夏に公開される予定のWindows 10のメジャーアップデート、Anniversary Update版に向けた新機能が多く搭載されている。

Windows 10ビルド14316 Windows 10ビルド14316
2016年4月6日、Bashサポートを含む多くの新機能が取り入れられた新ビルドがInsider Preview向けにリリースされた。

 このビルドの主な新機能は次の通りである。

  • Ubuntu Bashのネイティブサポート
  • Cortanaの端末同期機能
    ・バッテリー残容量低下通知
    ・Phoneを見つける/Phoneを鳴らす――Windows Phone端末紛失時の探索用機能
    ・デバイス間でのマップの目的地情報の共有
  • Edge向けの新しい拡張機能――ピン留めボタンとOneNoteクリッパー(OneNoteへの貼り付け機能)など
  • UWP版のSkypeプレビュー
  • アクションセンターの改善――通知の優先度設定と、アプリごとの最大表示回数の制限など
  • 絵文字デザインの変更――より分かりやすく、より印象的なデザインへの変更
  • 個人用カラー設定の変更――全体的な明暗を変更する「白」「黒」モードの導入
  • 仮想デスクトップの改善――特定のアプリを常に全仮想デスクトップに表示させる機能を追加
  • バッテリー関連の設定の集約
  • Windows Updateの更新可能時間の設定――日中の仕事時間帯は更新させないようにするなど

 今回はこのうち、Ubuntu Bash機能について見ていく。なお、LinuxやUbuntuの使い方、Linuxのコマンドなどについては本稿では説明しないので、あらかじめご了承いただきたい。

Linuxサブシステムの概要

 ビルド14316では、Linuxサブシステムが新たに導入され、Ubuntuディストリビューションのシェル「Bash」やその他の開発ツールなどが利用できるようになった。

 まだ実装されたばかりで機能も不足しているが、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機能のインストール
Windows Subsystem for Linuxは追加機能としてインストールする。
  (1)このチェックボックスをオンにしてインストールする。

 システムの再起動後、コマンドプロンプトを開いて「bash」コマンドを実行する。初回起動時はLinux環境の構築が行われるので数分かかるが、以後はすぐに起動できるようになる。Bashの環境(Bashから見えるLinuxのファイルシステム)はユーザーごとに固有であり、「%userprofile%\AppData\Local\Lxss\rootfs」以下に展開される。この中に「/etc」や「/usr」「/bin」「/var」などのフォルダが作成され、ファイルがコピーされる。

Bashの起動 Bashの起動
最初はコマンドプロンプトから「bash」コマンドを実行する。
  (1)コマンドプロンプト上からbashを起動する。以後は、bash.exeコマンドを実行すると、Bashのシェルウィンドウが表示されるようになる。
  (2)インストールするかどうか聞かれるので、「y」と答えるとプログラムのインストールや、必要なパッケージのダウンロードと展開が行われる。
  (3)しばらくするとインストールが完了し、このようにBashのプロンプトが表示される。この時点でもう使えるようになっている。

 [スタート]メニューには、[Bash on Ubuntu on Windows]というメニューが登録されているので、以後はこれをクリックすればBashが起動する。

[Bash on Ubuntu on Windows]メニュー [Bash on Ubuntu on Windows]メニュー
スタートメニューに登録されている[Bash on Ubuntu on Windows]は、Bash環境を起動するためのランチャーになっている。
  (1)Ubuntu Bashシェルのアイコン。

       1|2 次のページへ

Copyright© 1999-2017 Digital Advantage Corp. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

Focus

- PR -

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。