Windows 11 的 WSL 支援 systemd 了!


微軟針對 Windows 10 / Windows 11 推出的 WSL(Windows Subsystem for Linux)對 Heresy 這種有簡單 Linux 需求的 Windows 開發者來說,算是個滿實用的工具,現在也都用得很高興。

而比較討厭的,是在 Windows 11 推出後,微微現在也針對 Windows 10 和 Windows 11 提供兩種不同版本的 WSL、功能和 wsl 的指令介面也不一樣了…像是原生提供的 WSL GUI,基本上就是只有 Windows 11 的 WSL 才有的功能了。

而這兩天,微微也又公布了 WSL 的更新,這次是終於支援 systemd,讓 WSL 可以支援系統服務類的工具了!官方的公告是《Systemd support is now available in WSL!》。

目前這項功能基本上應該是「Windows Subsystem for Linux Preview」(Microsoft Store)的功能,WSL 版本要 0.67.6(GitHub release note)以上才有。

要確認自己的版本的話,可以在 Windows 命令提示字元下執行「wsl –version」、會看到相關的版本如下:

WSL 版本: 0.67.6.0
核心版本: 5.15.62.1
WSLg 版本: 1.0.44
MSRDC 版本: 1.2.3401
Direct3D 版本: 1.606.4
DXCore 版本: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows版本: 10.0.22622.575

而 Windows 10 的 wsl 就沒有「–version」這個參數了…

如果要更新的話,應該是可以透過 Microsoft Store 更新、或是執行「wsl –update」來更新。

在更新後,如果要開啟 WSL 的 systemd 的功能的話,要先進入 WSL 中,用 root 權限編輯「/etc/wsl.conf」這個檔案,在裡面加入下面的內容:

[boot]
systemd=true

之後,則是要在 Windows 下透過「wsl.exe –shutdown」把 WSL 徹底關掉、然後重開之後 WSL 裡面就有 systemd 可以用了~

之後,也可以透過「systemctl list-unit-files –type=service」來檢察系統的服務狀態了~

如此一來,WSL 的環境就更接近真正的 Linux 機器了;而像是要自己在 WSL 裡面跑 docker 的話,也不需要像之前一樣還得自己透過 Windows 服務來執行了。


/etc/wsl.conf」的其他設定內容,可以參考官方的《Advanced settings configuration in WSL》這份文件。

對「Windows 11 的 WSL 支援 systemd 了!」的想法

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.