連載
» 2017年11月09日 05時00分 公開

Windows 10 The Latest:Windows 10に搭載されたLinuxサブシステムにおける、Windowsプログラムとの連携や日本語処理機能を検証する (1/3)

Windows OS上でLinuxプログラムの実行を可能にするWindows Subsystem for Linux(WSL)が正式版になった。その概要やWindowsプログラムとの連携、日本語の扱いなどについて見てみよう。

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

 Windows OS上でLinuxプログラムの実行を可能にするWindows Subsystem for Linux(WSL)について、今回はWindowsプログラムとの連携や日本語関連の扱いについて注目してみる。

正式版になったWindows 10 Fall Creators UpdateのWSL環境

 Windows 10のFall Creators Update(以後Windows 10 FCU)では、Linuxのバイナリプログラムをそのまま実行できる「Windows Subsystem for Linux(WSL)」という機能が提供されている。以前はβ版として提供されており、日本語表示などにも問題があったが、Windows 10 FCU以降では正式な機能となって複数のLinuxディストリビューションがサポートされるなど、大きな変更が加わっている。

 WSLとは何か、何ができるのかについては、以下の記事も参照していただきたい。

Ubuntuの使用例 Ubuntuの使用例
Windows 10 FCUのWSL上でUbuntuを使っているところ。

 Windows 10 FCUのWSLは、以前のβバージョンと比べると、次のような点が強化されている。

  • β版ではなく、正式版としてリリースされた
  • 正式名称が「Bash on Ubuntu on Windows」から「Windows Subsystem for Linux(WSL)」に変更された(Ubuntu以外もサポートされたため)
  • エミュレーション精度の向上(より多くのLinux syscallや疑似仮想デバイスなどのサポート)により、対応可能なプログラムが増加
  • 複数のLinuxディストリビューションへの対応。Ubuntu以外に、SUSE、SLES(SUSE Linux Enterprise Server)が利用可能になった
  • Linux環境からWindowsの(CUIの)プログラムの呼び出しが可能になった。パイプで連結してデータを渡すことも可能(Windows 10 Creators Updateからの拡張機能)
  • WindowsからLinuxのプログラムの呼び出しが可能になった
  • ストアからインストールできるようになるなど、インストール(と自動更新)が容易になった
  • Windows Server OS(の「半期チャネル」サービスモデル向け)にも提供される(Windows Serverのバージョン1709より)

 WSLの詳細はここでは触れないが、内部的なアーキテクチャを図にすると次のようになる。

Linux環境を実現するWSL Linux環境を実現するWSL
WSLはWindows OS上でLinuxバイナリを動作させるための技術。Linuxバイナリが発行するAPI(syscall)をWindows上でエミュレーションして、実際にLinuxシステム上で動作しているように見せかけている。デーモンのようなサーバ向けの機能は利用できないが、クライアント向けのプログラムなら可能な限り動くように開発が進められている。現在ではUbuntu以外のディストリビューションも利用できる。

 WSLはWindows上でLinuxプログラムを“可能な限り”エミュレーションするという技術である。そのため完全なスタンドアロンのLinuxと比較すると、機能も制限されており、全てのLinuxプログラムが動作するわけでもない。例えば次のような制限がある。

  • デーモンやジョブのような、バックグラウンドでずっと動作させておくような機能は利用できない
  • 主にクライアント向けのCUIプログラムのみが実行可能。X Window Systemのサーバ機能などは利用できない
  • Linux OSを完全に再現しているわけではないので、動作しないプログラムもある。システムやハードウェアなどに強く依存するようなものは動かないことがある(何が動作しないかは、結局やってみないと分からない)

 それでもクライアント向けのプログラム、特に開発系や運用系のツールなどは一通り動作するので、システム管理や開発(の補助)、ローカルでのデータ処理用途などには活用できるだろう。

動かないプログラムの例 動かないプログラムの例
完全なLinuxと同じではないので動作しないプログラムもあるが、一般的なクライアント用途で利用するなら、あまり問題にはならないだろう。

WSLのインストール方法

 WSLをインストールする方法については、以下のTIPS記事にまとめているので参照していただきたい。なおWSLを利用するには64bit版のWindows 10 FCU以降が必要となっている(32bit版は不可)。

現在利用できるLinuxディストリビューションの一覧 現在利用できるLinuxディストリビューションの一覧
現在では、Ubuntu以外のディストリビューションも利用できるし、今後も増える予定である

 WSLをインストールすると、スタート画面に「Ubuntu」や「openSUSE Leap 42」「SUSE Linux Enterprise Server 12」などのメニュー/アイコンが追加されるので、それをクリックするとそれぞれのディストリビューションのシェル(bash)が起動する。

       1|2|3 次のページへ

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

@IT Special

- PR -

TechTargetジャパン

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

RSSについて

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

メールマガジン登録

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