WSLでSystemdをサポート
2022年9月22日、「Microsoft」と「Canonical」は「WSL」で「Systemd」のサポートをアナウンスしました。アナウンス
各社のアナウンスは以下を参照してください。- Systemd support is now available in WSL!(Microsoft)
- Systemd support lands in WSL – unleash the full power of Ubuntu today(Canonical)
ストアアプリケーション版WSL
ストアアプリケーション版「WSL」の詳細やインストール方法は、以下を参照してください。Systemdとは
「Systemd」はLinuxシステムの起動やサービスの管理を行うソフトウェアであり、「PID(プロセスID)1」として実行されるソフトウェアです。Linuxで骨幹をなすソフトウェアの1ですね。
「Ubuntu」でも「Systemd」が導入されています。
Systemdのサポートにより利用可能なソフトウェアが増える
ソフトウェアの中には「Systemd」を必要とするソフトウェアがあり、今回「Systemd」がサポートされたことでそれらのソフトウェアを利用できるようになりました。例えば「MicroK8s」や「systemctl」といったソフトウェアを利用できます。
Snapが利用可能に
「Systemd」のサポートにより「WSL」から「snapd」も利用できるようになりました。「Snap Store」から各種Snapアプリをインストールできるようになりました。いつものコマンドでSnapsをインストールできます。
sudo snap install firefox
sudo snap install spotify
sudo snap install postman
sudo snap install nextcloud
sudo snap install spotify
sudo snap install postman
sudo snap install nextcloud
Systemdの利用条件
「WSL」で「Systemd」を利用するには、いくつか条件があります。1.WSLのバージョン
「WSL」で「Systemd」を利用するには、「Microsoft Store」からインストールした「WSL 0.67.6」以上の「WSL」が必要です。「WSL」のバージョンは、以下のコマンドで確認できます。
wsl --version
バージョンが古い場合
現状「Systemd」を利用可能な「WSL」は「Windows Insider Preview」向けに提供されています。数週間後にすべてのユーザーに「Systemd」を利用可能な「WSL」が提供される予定です。
インストール済み「WSL」のアップデートの確認は、以下のコマンドで確認できます。
wsl --update
Windows Insider Programに参加せず最新のWSLを利用したい場合
「Windows Insider Program」に参加せず最新の「Systemd」を利用可能な「WSL」を利用したい場合、以下から直接「WSL」をダウンロードしてください。コマンドの実行に失敗した場合
上記のコマンドの実行に失敗した場合、「Windows」に同梱されている従来の「WSL」を利用しています。以下を参考に「Microsoft Store」から「WSL」をインストールしてください。
2.Systemdの有効化
現状「WSL」で「Systemd」を利用するには、ユーザーが明示的に「Systemd」を有効化する必要があります。ここでは「WSL」で「Systemd」を有効にする方法を紹介します。
Systemdを有効にするには
「WSL」で「Systemd」を有効にする方法です。1.wsl.confをrootで開く
以下のコマンドを実行し、「/etc/wsl.conf」ファイルを「root」で開きます。
sudo nano /etc/wsl.conf
「wsl.conf」ファイルの説明は、以下を参照してください。
2.Systemdの有効化
以下の設定を追記します。[boot]
systemd=true
systemd=true
「CTRL + O」キーを押してファイルを保存し、「CTRL + X」キーを押して「nano」を閉じます。
3.WSLインスタンスの再起動
「WSL」インスタンスを再起動するためディストリビューションを閉じ、以下のコマンドを実行します。wsl.exe --shutdown
これで次回以降起動するディストリビューションでは「Systemd」が有効になります。
4.Systemdの起動確認
ディストリビューションを起動し、以下のコマンドを実行して「Systemd」が起動しているか確認します。systemctl list-unit-files --type=service
サービスの状態一覧が表示されればOKです。
Ubuntu Previewではデフォルトで有効に
「Microsoft Store」で配布されている「Ubuntu Preview」では、数日中に「Systemd」がデフォルトで有効になる予定です。つまり上記で紹介している「Systemd」を有効にする作業が不要になります。
「Ubuntu Preview」は以下からアクセスできます。
「Ubuntu Preview」の紹介は、以下を参考にしてください。