Bash on Windowsが強化、Linux版のJavaやGo、PostgreSQLなどもWindowsで実行可能に。3月リリースのWindows 10 Creators Updateで

2017年2月10日

マイクロソフトは来月(2017年3月)登場予定のWindows 10の大型アップデート「Windows 10 Creators Update」で、Windowsに取り込んだLinux機能の「Bash on Ubuntu on Windows」とその背後にある「Windows Subsystem for Linux」(以下、両者をまとめて「Bash on Windows」に省略)の強化を行い、これまで実行が困難だったLinux版のJavaやPostgreSQLなども実行可能になることを、2月8日(日本時間2月9日未明)のイベント「Windows Developer Day - Creators Update」で明らかにしました。

これまでのBash on Windowsは、Linux版のNode.js、Python、RubyなどのアプリケーションやMySQLなどが実行可能でしたが、Javaの実行は困難でした。

Windows 10 Creators UpdateによってBash on Windowsの完成度がさらに高まり、Linux版のJava、C++やCから生成されたバイナリなどが実行可能、さらにGo、Rustにも対応し、PostgreSQLも近々実行可能になると説明されています。

Bash on Windowsとは、Windows 10の内部でUbuntu Linuxを実行することでWindows上でLinuxバイナリを実行可能にし、またBashなどの各種ツールも利用可能にします。Windows 10内部で本物のUbuntu Linuxを実行することで実現されており、その仕組みとしてUbuntu Linuxのカーネルに相当する機能をWindowsカーネルでエミュレーションする「Windows Subsystem for Linux」が用いられています。

Bash on Windowsは1年前の2016年3月に開催されたイベント「Build 2016」で突如発表され、8月にリリースされたWindows 10の大型アップデート「Windows 10 Anniversary Update」でテクニカルプレビューとして追加されました。

Windows 10 Creators Updateによる強化では、JavaやPostgreSQLなどが実行可能になるほか、コンソール機能も改善され、従来の16色から1600万色へとサポートする色数が大幅に増加。

fig

VTコマンドのサポートも強化。これらによってテキストベースでリッチな表現を行っていたLinuxアプリケーションのUIも忠実に表現できるようになりました。

fig

またbashからWindowsアプリケーションの起動も可能に。下の画面ではbashからノートパッドを起動したところ。

fig

Visual StudioからLinuxバイナリの生成、デバッグも可能に

Window 10本体だけでなく、Visual StudioでのLinux対応も強化が発表されました。

Visual C++ for Linuxでは、Visual Studioで開発中のC++のコードを、sshを通じてターゲットとなるLinuxマシンへ送り、そこでリンクやコンパイルなどのビルドを実行し、本物のLinuxバイナリを生成可能になりました。

ターゲットとなるLinuxマシンは仮想マシンやベアメタル上のLinux、そしてBash on Windowsも可能。

それだけでなく、Visual Studioから同様にsshを通じてターゲットマシン上でgdbを起動し、Linuxバイナリのデバッグも可能です。gdbの機能を用いてVisual Studio上でシングルステップ、ブレークポイントの設定、変数のインスペクションなどが利用可能。

fig

これによりVisual Studioを利用したまま、Linuxに対応したC++のアプリケーションの開発、デバッグが可能になり、さらにBash on Windowsを利用すればそのままWindows 10でそのLinuxバイナリが実行できることになります。

Bash on WindowsやVisual StudioのLinux対応強化は、マイクロソフトが貪欲にLinuxをWindowsへ取り込んでいる、すなわちLinux開発者を貪欲にWindowsに取り込もうとしている姿勢の表れであり、Visual StudioとWindowsを、あらゆるデベロッパー、あらゆるアプリケーション、あらゆるプラットフォームに対応していく存在にするという同社が目指す方向に着実に推し進めていることを示しています。

あわせて読みたい

Linux OS Windows 開発ツール Microsoft Visual Studio Windows Subsystem for Linux




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本