ニュース

「Windows Subsystem for Linux」が「systemd」に対応へ

「systemd」に依存するLinuxアプリケーションを「WSL」で利用可能に

公式ブログ「Windows Command Line」

 米Microsoftは9月21日(現地時間)、「Windows Subsystem for Linux」(WSL)ディストリビューションで「systemd」が利用可能になったと発表した。「systemd」に依存するLinuxアプリケーションを「WSL」で利用可能になる。

 「systemd」は、Linuxのシステム初期化・管理・設定を担うプログラム。「System V」系UNIXの「init」に代わって導入され、現在では「Ubuntu」や「Debian」など、一般的なLinuxディストリビューションでデフォルト採用されている。そのため、「WSL」でも「systemd」に対応してほしいという声は根強くあった。

 しかし、「WSL」で「systemd」をサポートするにはアーキテクチャーの変更が必要だった。たとえば、「systemd」は「PID 1」(一番最初に起動するプロセス)を必要とするため、Linuxディストリビューション内で開始された「WSL init」プロセスは「systemd」の子プロセスにしなければならない。

 また、「WSL init」はWindows/Linuxコンポーネント間で通信を行うためのインフラストラクチャーを提供する役割も担っているため、アーキテクチャーの変更に当たってはその影響を考慮する必要があったという。

 そのほかにも、シャットダウンを確実にするため、「WSLg」(WindowsでLinux GUIアプリを動作させる仕組み)との互換性も考慮する必要があったようだ。

 「WSL」で「systemd」を利用するには、v0.67.6以降の「Microsoft Store」版「WSL」が必要。バージョンは「wsl --version」で確認できる(このコマンド失敗した場合はOSに同梱されているバージョンが用いられているので、「Microsoft Store」版のインストールが必要)。まずは「Windows Insider Program」のテスターに解放され、品質に問題がなければすべてのユーザーに提供される。

 また、当面の間「systemd」サポートは初期状態で無効となっている。利用の際は「/etc/wsl.conf」に以下の設定を加えてオプトインする必要があるので注意したい。この設定は将来的にはデフォルトで有効化することが検討されている。

[boot]
systemd=true