Windows Subsystem for Linux

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動先: 案内検索
Windows Subsystem for Linux
Microsoft Windows コンポーネント
Bashwin10.png
Windows 10上で実行されたBash
詳細
種別 互換レイヤー
標準提供 Windows 10 Fall Creators Update
Windows Server, version 1709
Windows 10 RS1(β版)
置換 Microsoft Windows Services for UNIX

Windows Subsystem for Linux (WSL) とは、Linuxの(ELFフォーマット形式の)バイナリ実行ファイルWindows 10およびWindows Server上でネイティブ実行するための互換レイヤーである。

概要[編集]

マイクロソフトとカノニカルの提携により、Windows 10 RS1のβ版では、Ubuntu 14.04 "Trusty Tahr"イメージ[1]をWindows 10ユーザーのローカルマシンにダウンロードして展開し、そのイメージに含まれるツールやユーティリティーをWSL上でネイティブに実行することが可能になった[2][3][4]。WSLはマイクロソフトが開発した(Linuxカーネルのコードが含まれていない)Linux互換のカーネルインタフェースとともに、その上で動くUbuntuに由来するユーザーモードバイナリを提供する。これはBashシェルやコマンド言語、ネイティブLinuxコマンドラインツール(sedawkなど)やプログラミング言語インタプリタRubyPythonなど)[5]を含む[6]

WSLは全てのLinuxソフトウェアを動かせるわけではない。WSLの提供しないLinuxカーネルサービスを必要とするものは不可能である[7]グラフィカルユーザインタフェースを使用するアプリケーションは、画面描写に関わるX Window Systemアプリケーションを、外部Xサーバ(Xming, VcXsrv Windows X Serverなど)と共に起動し、利用する必要がある[8]。Windowsコンピュータ上でLinuxソフトウェアを直接起動するための最善の手段は完全な仮想マシンであるが、WSLはユーザーがWindowsアプリとLinuxツール(厳密にはLinuxディストリビューションの1つであるUbuntu上で動作可能なツール)を同一ファイルセット上で利用できるようにしながら、完全な仮想マシンよりも少ないリソースしか利用しない[5][9]

WSLはWindows 10の64ビット版で[5]、Windows 10 Anniversary Update と Creators Update でβ版を、Fall Creators Updateから正式版を利用できる。ただし Windows 10 S[10] や Windows 10 IoT Core を除く。また Windows 10 Enterprise 2016 LTSB はリリース当時WSLがβ版だったため未提供[11]。Windows Server では、Windows 10 Anniversary Updateとほぼ同時にリリースされたサーバ用OSのWindows Server 2016には搭載されていなかったが、2017年8月8日にリリースされた Insider Preview Build 16237 から利用可能になり[12][13]、Windows Server, version 1709 にて正式搭載された。

WSLは、Windows 10 Mobile上でいくつかのAndroid用アプリを実行できるようにするためのプロジェクトだがリリースされることはなかった、Project Astoriaを発祥とする[7]

マイクロソフトはWSLを「主として開発者、特にWeb開発者やオープンソースプロジェクトを利用する開発者のためのツール」としてイメージしている[5]

Windows 10 Fall Creators Update以前のβ版においては、WSLの利用の際、Windows 10の開発者モードを有効化しなければならないという制限があった。2017年10月に公開されたFall Creators Updateの機能の一つとして、左記の制限が撤廃されたWSLの正式版が提供されている[14]

経緯[編集]

2016年3月30日(米国時間)に開催されたマイクロソフト社のBuild 2016カンファレンスで発表された[15]

2016年4月6日にリリースされたWindows 10 Insider Preview ビルド 14316において最初に公開された[16]

2016年8月2日(日本時間8月3日)に公開されたWindows 10の大型アップデートである(Windows 10のRedstone 1版(RS1)の)Windows 10 Anniversary Updateによってベータ版の提供が開始された[17]

2017年8月8日、Windows Server の Insider Preview Build 16237 から Windows Server でも利用可能になった[12]

2017年10月17日(日本時間10月18日)に公開されたWindows 10の大型アップデートである(Windows 10のRedstone 3版(RS3)の)Windows 10 Fall Creators Update および Windows Server, version 1709 において正式版となった。Windows 10の開発者モードを有効にしなくても利用可能となった[18][19]

実行可能なLinuxのディストリビューション[編集]

Windows 10上で実行可能なLinuxのディストリビューションは、UbuntuFedoraOpenSUSEなどがあり、それぞれストアで配布されている[14]。WSLのインフラストラクチャとツールのサポートはMicrosoftが、ディストリビューション内部のサポートはディストリビューションの配布元が、それぞれ提供している。

当初、WSLのベータ版においては Ubuntu のみとなっていた。WSLの提供開始当初の Ubuntu のバージョンは14.04であったが、2017年4月11日に公開されたWindows 10の大型アップデートである "Windows 10 Creators Update" (Redstone 2)では、Ubuntu のバージョンは 16.04 "Xenial Xerus" に変更されていた[20]

使用例[編集]

Ubuntu の場合[編集]

定期的にパッケージを最新版に更新する。

$ sudo apt update
$ sudo apt upgrade

NetHackをプレイする。

$ sudo apt install nethack
$ nethack

X Window Systemのクライアントを実行する (あらかじめXmingなどのXサーバーをWindows上で起動しておく)

$ sudo apt install x11-apps
$ sudo apt install x11-utils
$ sudo apt install x11-xserver-utils
$ export DISPLAY=:0
$ xeyes
$ firefox

Windowsのコマンド プロンプトからUbuntuのls、date、sort、uniqコマンドを実行する

C:\Users\a>bash -c "ls -l '/mnt/c/Program Files'"
C:\Users\a>bash -c "date '+%Y年%m月%d日 %H時%M分%S秒'"
C:\Users\a>bash -c "sort|uniq" < "C:\work\テストデータ.txt"

Windowsのコマンドと連携する(bash の ls コマンドの結果を Windows の clip.exe でクリップボードに送る例)

$ ls -l '/mnt/c/Program Files' | clip.exe

関連項目[編集]

脚注[編集]

  1. ^ Ubuntu 16.04 is slow in bash but ubuntu 14.04 was faster
  2. ^ Run Bash on Ubuntu on Windows”. マイクロソフト (2016年3月30日). 2016年10月2日閲覧。
  3. ^ Why Microsoft Making Linux Apps Run on Windows Isn’t Crazy”. Condé Nast (2016年3月30日). 2016年10月2日閲覧。
  4. ^ Kirkland, Dustin (2016年3月30日). “Ubuntu on Windows – The Ubuntu Userspace for Windows Developers”. カノニカル. 2016年10月2日閲覧。
  5. ^ a b c d Frequently Asked Questions for WSL”. マイクロソフト. 2016年10月2日閲覧。
  6. ^ Bash on Ubuntu on Windows”. マイクロソフト (2016年4月9日). 2016年10月2日閲覧。
  7. ^ a b Why Microsoft needed to make Windows run Linux software”. コンデナスト・パブリケーションズ (2016年4月6日). 2016年10月2日閲覧。
  8. ^ Aleksandersen, Daniel (2016年4月7日). “Running Linux desktop apps on the Windows Subsystem for Linux”. 2016年10月2日閲覧。
  9. ^ 亀川和史 (2016年8月23日). “Bash on Ubuntu on Windowsとは? そのインストールと使い方”. Digital Advantage. 2016年10月2日閲覧。
  10. ^ Will Linux distros run on Windows 10 S?” (2017年5月18日). 2017年6月1日閲覧。
  11. ^ When I reinstall my win10 2016 LTSB, bash can not install · Issue #1281 · Microsoft/BashOnWindows”. 2016年12月13日閲覧。
  12. ^ a b Windows Subsystem for Linux on Windows Server - Building Apps for WindowsBuilding Apps for Windows
  13. ^ What’s new in WSL in Windows 10 Fall Creators Update – Windows Command Line Tools For Developers
  14. ^ a b Windows Subsystem for Linuxが正式版へ”. CodeZine. 翔泳社 (2017年7月31日). 2017年10月21日閲覧。
  15. ^ Frederic Lardinois (2016年3月31日). “Build 2016で驚きの発表―Microsoftはこの夏Windows 10でBashシェルをサポート”. AOL Online Japan, Ltd. 2016年10月2日閲覧。
  16. ^ Announcing Windows 10 Insider Preview Build 14316”. マイクロソフト (2016年4月6日). 2016年10月2日閲覧。
  17. ^ 海上忍 (2016年8月29日). “Macはもう不要!? - "UNIX使い"狙い撃ちの「Windows Subsystem for Linux」を検証する(前編)”. Ascii.jp. 2016年10月2日閲覧。
  18. ^ 後藤大地 (2017年10月19日). “Windows 10 Fall Creators Update、注目の新機能・変更点まとめ”. マイナビニュース. マイナビ. 2017年10月21日閲覧。
  19. ^ 樽井秀人 (2017年7月31日). ““Windows Subsystem for Linux”が正式版に ~今秋公開の「Fall Creators Update」で”. 窓の杜. インプレス. 2017年10月21日閲覧。
  20. ^ 亀川 和史 (2017年3月7日). “Bash on Ubuntu on Windowsの、Creators Updateでの強化点&新機能”. Digital Advantage. 2017年6月16日閲覧。

外部リンク[編集]