Windows 10に搭載されたLinuxサブシステムにおける、Windowsプログラムとの連携や日本語処理機能を検証する:Windows 10 The Latest(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とは何か、何ができるのかについては、以下の記事も参照していただきたい。
- Windows 10 Latest「Windows 10でUbuntuのシェル「Bash」が動き始める!」
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
WSLはWindows OS上でLinuxバイナリを動作させるための技術。Linuxバイナリが発行するAPI(syscall)をWindows上でエミュレーションして、実際にLinuxシステム上で動作しているように見せかけている。デーモンのようなサーバ向けの機能は利用できないが、クライアント向けのプログラムなら可能な限り動くように開発が進められている。現在ではUbuntu以外のディストリビューションも利用できる。
WSLはWindows上でLinuxプログラムを“可能な限り”エミュレーションするという技術である。そのため完全なスタンドアロンのLinuxと比較すると、機能も制限されており、全てのLinuxプログラムが動作するわけでもない。例えば次のような制限がある。
- デーモンやジョブのような、バックグラウンドでずっと動作させておくような機能は利用できない
- 主にクライアント向けのCUIプログラムのみが実行可能。X Window Systemのサーバ機能などは利用できない
- Linux OSを完全に再現しているわけではないので、動作しないプログラムもある。システムやハードウェアなどに強く依存するようなものは動かないことがある(何が動作しないかは、結局やってみないと分からない)
それでもクライアント向けのプログラム、特に開発系や運用系のツールなどは一通り動作するので、システム管理や開発(の補助)、ローカルでのデータ処理用途などには活用できるだろう。
WSLのインストール方法
WSLをインストールする方法については、以下のTIPS記事にまとめているので参照していただきたい。なおWSLを利用するには64bit版のWindows 10 FCU以降が必要となっている(32bit版は不可)。
WSLをインストールすると、スタート画面に「Ubuntu」や「openSUSE Leap 42」「SUSE Linux Enterprise Server 12」などのメニュー/アイコンが追加されるので、それをクリックするとそれぞれのディストリビューションのシェル(bash)が起動する。
Copyright© Digital Advantage Corp. All Rights Reserved.