先日、Microsoftから「Windows 11」が発表された。Windows 11開発版ではWSL2の機能がデフォルトで有効化され、Linux GUIアプリケーションも動作するようになっている。もしかするとWindows 11は、来年以降にLinuxを使う際の代表的なプラットフォームとして認識されるようになるかもしれない。
Windows 11発表、Microsoft
先日、MicrosoftからWindows 10の次にリリースされる次期アップグレードバージョンとなる「Windows 11」が発表された。Windows 10と全く異なるOSというわけではなく、あくまでもWindows 10の延長線上にあるバージョンだ。UI/UXにフィーチャーアップデートで導入するには大きすぎる変更があり、別のブランドとしてリリースするほうが適切という判断があったのかもしれないが、それほど大きな違いではなく、開発者やアドバンスドユーザーであればその違いにとまどうことはないと思う。
MicrosoftはWindows 11を発表した翌週には、開発者向けに開発版となる「Windows 11 Insider Preview」の配信を開始した。執筆段階ではISOイメージでの提供は行われておらず、Windows 10においてInsider Preview Programに参加しDevチャンネルを適用し、かつ条件が整っている場合に試すことができる。
Microsoftは2021年後半にWindows 11を搭載したPCの出荷が開始されると説明し、2022年前半には多くのユーザーにWindows 10からWindows 11へアップグレードの提供が可能になるとしている。一般に広く普及するのは1年後になるわけだが、Windows 10からWindows 11へのアップグレードは無料であり、時間はかかっても多くのユーザーがWindows 11へ移行していくことが予想される。
Windows 10で進められたLinux対応
MicrosoftはWindows 10において段階的にLinux対応を進めてきた。現時点でWindows 10にはHyper-V技術をベースとしたWSL2 (Windows Subsystem for Linux version 2)が搭載されており、Linuxシステムコール100%互換を実現している。実際にLinuxカーネルが使われており、さらにLinuxカーネルは定期的にアップデートされる。Linuxを仮想環境で実行しているのとほぼ同じ状況がWindows 10で実現されている。
確かにすでにWindows 10ではLinuxバイナリを実行する状況が実現しているのだが、この機能はユーザーが明示的に有効化しない限り使うことができない。あくまでも開発者向けの機能という側面が強く、Linuxもある程度使うことができる開発者やアドバンスドユーザー向けの機能だ。
この機能で実現されているのは主にCUIやデーモンとして動作することができるソフトウエアだけで、GUIアプリケーションについては対象外となっている。このままでも自分でXサーバをセットアップすればGUIアプリケーションを動作させることはできるのが、セットアップも結構面倒な作業をしなければならない。
Microsoftはこうした点を解決し、Windows 10でLinuxのGUIアプリケーションを実行できるようにする機能の開発にも取り組んできた。詳細は割愛するが、LinuxがGUIアプリケーションを実行するのに必要となる機能を提供する専用のLinuxディストリビューションを開発し、背後で動作させることでWindows 10におけるLinux GUIアプリケーションの実行を実現している。Microsoftの提供する情報によれば、成果物はよくできており、多くのGUIアプリケーションが動作するという。
ただし、GUIアプリケーションを実行するための機能は依然として開発段階という位置付けであり、リテール版には落ちてきていない。今後Windows 10のリテール版にこの機能が導入されるかどうかは不透明だ。
Windows 11、WSL2機能をデフォルト化
先日、開発者やアドバンスドユーザー向けに配信が始まったWindows 11にも、WSL2は導入されている。そして、Windows 10とは次の点が異なっている。
- WSL2がデフォルトで有効化されている
- Ubuntuのインストールがコマンドラインから1行で実行できる
- Linux GUIアプリケーションを実行することができる
Windows 10で実現された機能や開発中の機能が、Windows 11ではデフォルトで有効化され、使える状態になっているのだ。次のスクリーンショットはWindows 11開発版のWLS2でLinuxのシンプルなGUIアプリケーション(xcalc、xeyes、xlogo)を実行したものだ。
これはLinuxユーザーにとって大きな変化だ。これまでWindows 10でLinuxバイナリを実行するには明示的に設定の変更が必要だった。これがWindows 11では格段に簡単になっている。
さらに、LinuxのGUIアプリケーションが動作するというのも大きい。執筆時点でWindows 10で利用できるWSL2においてLinuxのGUIアプリケーションを利用することはできなくもないが、とても面倒だ。しかし、Windows 11開発版ではそれが容易にできる。これは、Windows 11がLinuxプラットフォームとして認識されるようになる可能性を示唆していると言えるだろう。
LinuxプラットフォームとしてのWindows 11
Windowsのバージョン推移は緩やかだ。数年をかけて新しいバージョンへ移行する傾向が見られる。これまでと同じであれば、Windows 10もWindows 11も数年間は並走する状況になるはずだ。少なくとも、Windows 10のサポートが終了するまで後4年以上あり、その間はWindows 10もWindows 11も共存する可能性がある。
Windows 11が広く普及するまで年単位での期間が必要になるだろうが、ほぼワンタッチでUbuntuが動作するプラットフォームという意味で、Linuxにとっては重要なプラットフォームになる可能性が高い。Windowsは、PCのOSとして世界で最も普及している。これまでのシェア推移から、Linuxのシェアが増えるよりもLinuxが動作するWindows 11のシェアが増えるほうがよほど早いと予測される。こうしたことから、Windows 11はLinuxに触れるユーザーの体験を大きく変える可能性がある。
Linuxのバイナリを初めて実行するのが、Windows 11のWSL2という可能性も出てくるだろう。Windows Terminaiでwslを指定して実行するもの、とか、WindowsでさまざまなCUIユーティリティを実行するための機能、というイメージを持つユーザーが増えるかもしれない。少なくとも、Windows 10のときよりもユーザーが増える可能性はある。
Linux GUIアプリケーションの活用はこれから
Windows 11上でのLinuxのGUIアプリケーション活用については、今後ユースケースが出てくるはずだ。ユーザーが求める重要度の高いアプリケーションはすでにWindows版が存在していることが多く、LinuxのGUIアプリケーションをWindowsで実行する需要がどの程度あるのかは今後のユースケースを見ていく必要があると思うが、状況が整いつつあるのは素晴らしい。
ユーザー層がそれほど広くない専門的なソフトウエアに関してはLinux版しか存在しないものもあり、そういったケースではWindowsで実行できるようになる意義は大きい。しかし、今回のケースでは共有できるユーザー層が大きくないため、今後どう使われていくかは、本当にこれからといったところだ。
MicrosoftはWindows 11でデフォルト化するWSL2をAndroidアプリ開発に応用する可能性も高く、新しい開発プラットフォームとして普及することも考えられる。ユーザーにとっても開発者にとっても、Windows 11はこれまでよりも簡単にLinuxを活用できるバージョンになるかもしれない。
Linuxを取り巻く状況は常に変わっている
Linuxを取り巻く状況は常に変わっている。現在ではLinuxプラットフォームの多くはクラウドプラットフォームで利用することが多い。それは完全にクラウドプラットフォームかもしれないし、オンプレミスと混在したハイブリッドクラウドかもしれない。
クライアントで利用するLinuxは仮想環境で動作しているだろうし、WSL2を使っていることもある。もちろんベアメタルでインストールして使っていることもある。PCにはターミナルアプリケーションを入れてあくまで外部のLinuxサーバにログインして使っているということもある。
Linuxは幅広く使われている。しかし、Linuxが動作しているプラットフォームはさまざまでも、Linuxを使うための方法やスキルは変わらない。一度身に付けたスキルは長く使えるものだ。本質を理解していれば応用もしやすいし、ちょっとした設定変更で使いやすくなることもある。変わり続ける環境に合わせて管理の方法も徐々に変わっているが、それに合わせてこちらも対応していこう。
もちろん、これはWindows 11開発版での話だ。リテール版になるときにはWSL2の機能が無効化されている可能性もある。とは言え、状況からするとわざわざ無効化する理由はなさそうに見える。今後の展開が楽しみなところだ。