Windows Subsystem for Linux (WSL) で systemd を有効にする方法

Linux の systemd が良いか悪いかは、誰と話すかによって決まりますが、これは重要です。 Linux 用 Windows サブシステム (WSL) コミュニティはそれを実装する独自の方法を構築していました。 マイクロソフトはもう作業を完了しましたただし、Canonical と提携して、WSL に systemd を正式に実装しました。

ただし、最初は、実際には誰でも利用でき、デフォルトで有効になっているだけではありません。 また、一度有効にした後はいつでも無効にすることもできます。 知っておくべきことは次のとおりです。

システム化とは何ですか?

\r\n https://www.youtube.com/watch? v=Ja3qikzd-as\r\n

systemd の短い公式の説明は次のとおりです。

Systemd は、Linux システムの基本的な構成要素のスイートです。 これは、PID 1 として実行され、システムの残りの部分を開始するシステムおよびサービス マネージャーを提供します。

最も人気のある Linux ディストリビューションの一部は、すでにベアメタル インストールでデフォルトで systemd を使用しています。 Ubuntu や Debian などの一部は WSL でも利用できます。

WSL に systemd が含まれることで、このツールは Linux をネイティブに実行するエクスペリエンスにさらに近づきます。 また、snap、microk8s、systemctl など、WSL で簡単に使用できるようになった一部のツールにも必要です。

WSL で systemd を取得するために必要なもの

Windows 内バージョンの WSL、つまり、PowerShell を通じて有効にし、ストアからダウンロードしたものではない WSL を使用している場合、最初は systemd がありません。 Windows 11 の Insider ビルドを使用しているユーザー、または Microsoft Store からダウンロードされた WSL を使用しているユーザーのみがこれを利用できます。 必要なバージョン番号は 0.67.6 以降です。

正しいバージョンを持っているかどうかを確認するには、PowerShell ウィンドウを開いて次のように入力します。 wsl --バージョン

そして応答を確認します。 0.67.6 未満の場合は、Microsoft Store にアクセスしてください。 WSLをダウンロード. または、次の場所から最新リリースを入手できます。 WSL GitHub リポジトリ.

将来的には、すべてのユーザーに systemd サポートが追加され、次のように入力して WSL への更新を確認できます。 wsl --update PowerShellで。

また、WSL で Ubuntu プレビューを使用している場合は、systemd が自動的に追加されます。

systemdを有効にする方法

systemd を有効にするには、少なくとも現時点では、 wsl.conf ファイル。 これは、WSL Linux ディストリビューション内にある構成ファイルであり、グローバル WSL 設定を修正するのではなく、ディストリビューションごとに構成できるようになります。

これは単純なテキスト ファイルなので、テキスト エディターで開くだけです。 この例では、Nano を使用しています。 次のように入力して、選択した Linux ディストリビューションで wsl.conf を開きます。

sudo nano /etc/wsl.conf

以前に独自の構成ファイルを作成したことがない限り、空白のドキュメントを見ることになるでしょう。

systemd を有効にするには、これを wsl.conf ファイルに入力するだけです。

[boot]
systemd=true

これで、ファイルを保存して終了することができます (保存するには CTRL+O、終了するには CTRL+X)。 ここから、WSL セッションを完全に閉じてシャットダウンする必要があります。 Linux を終了し、PowerShell ウィンドウに戻って次のように入力します。

wsl.exe--shutdown

これにより、マシン上の WSL が完全にシャットダウンされます。 Linux ディストリビューションを再度開くだけです。 最初の起動には数秒ほど時間がかかる場合がありますが、起動すると systemd が実行されます。 systemd に依存するサービスの 1 つである systemctl を使用して、動作していることを確認できます。

systemctl list-unit-files --type=service

実行中のサービスのリストが表示されるはずです。 systemd を有効にする手順はこれですべてです。 そしてもちろん、wsl.conf を false に変更することで、いつでもオフにすることができます。

WSL 上の Ubuntu でスナップを使用する

WSL 上の Ubuntu で systemd を使用することで得られる追加の利点の 1 つは、スナップが適切に動作するようになったことです。 誰もがこれを使用するために実行するわけではありませんが、WSL ユーザーがアクセスできるもう 1 つの機能です。 試してみたい便利なスナップ パッケージがいくつかあります。

たとえば、Nextcloud は、Microsoft 365 や Google のクラウド アプリとストレージに代わるオープンソースの代替手段です。 Nextcloud スナップは Linux にインストールする最良の方法の 1 つであり、現在 WSL で利用可能です。 スナップをインストールすることは、apt (または他のパッケージ マネージャー) を使用して所定の場所にスナップを置き換えることと同じです。

sudo snap install nextcloud

チェックアウトすると、利用可能なスナップをすぐに見つけることができます スナップクラフト.io.