WSL2 で systemd

WSL2 で systemd が公式に対応したらしい。ただし、Windows11 に限る。

最近は VirtualBox なんかに浮気し乗り換えていろいろ触っていたが、「そういえば systemd を使うのに Distrod なんてあったなぁ」と Twitter で検索すると偶然こんな記事が。

devblogs.microsoft.com

OMG! なんてこった!正式に対応したのかよ!というわけで WSL2 に返り咲く Koi なのであった。

今までの systemd

今までは systemd を使おうとしても systemctl コマンドがうまくいかなくて PID がうんうんかんぬん~とか言われてわけわかめだったわけである。WSL 使いは以下のエラーを 2 万回くらい見ているはずである。

これからの systemd

しかし、これからは違うのである。やり方は非常に簡単だ。

  1. /etc/wsl.conf を編集する
  2. PowerShell で WSL を再起動する

これだけである。

1. /etc/wsl.conf を編集する

まずは WSL 側で vim 等を使って /etc/wsl.conf に以下のように追記し保存する(sudo お忘れなく)。

[boot]
systemd=true

2. PowerShell で WSL を再起動する

PowerShell で以下のコマンドを実行するだけ。

wsl.exe --shutdown

以上で WSL2 で systemd が使えるようになる。