Hur man aktiverar systemd i Windows Subsystem for Linux (WSL)

Huruvida systemd i Linux är bra eller dåligt beror på vem du pratar med, men det är viktigt, så mycket att några av Windows Subsystem för Linux (WSL) samhället hade byggt sina egna sätt att genomföra det. Microsoft har gjort jobbet nu, dock, i samarbete med Canonical, för att officiellt implementera systemd i WSL.

Till en början är det dock inte bara tillgängligt för alla och aktiverat som standard. Du har också möjlighet att inaktivera det när som helst när du har aktiverat det. Här är vad du behöver veta.

Vad är systemd?

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

Den korta, officiella beskrivningen av systemd är:

Systemd är en uppsättning grundläggande byggstenar för ett Linux-system. Den tillhandahåller en system- och servicehanterare som körs som PID 1 och startar resten av systemet.

Några av de mest populära Linux-distroerna där ute använder redan systemd som standard på bara metallinstallationer. Några av dessa, som Ubuntu och Debian, finns också tillgängliga på WSL.

Inkluderingen av systemd på WSL för verktyget ännu närmare upplevelsen av att köra Linux. Det krävs också för vissa verktyg som nu är lätta att använda på WSL, som snap, microk8s och systemctl.

Vad du behöver för att få systemd i WSL

Om du använder Windows-versionen av WSL, det vill säga den du aktiverade via PowerShell och inte laddade ner från butiken, kommer du inte ha systemat initialt. Endast de som använder en Insider-version av Windows 11 eller de som använder WSL som laddats ner från Microsoft Store kommer att ha det. Versionsnumret du behöver är 0.67.6 och högre.

För att kontrollera om du har rätt version öppnar du bara ett PowerShell-fönster och går in wsl --version och kontrollera svaret. Om det är under 0.67.6, gå till Microsoft Store och ladda ner WSL. Alternativt kan du hämta den senaste versionen från WSL GitHub repo.

I framtiden kommer alla användare att få systemstöd lagt till, och du kan söka efter uppdateringar av WSL genom att gå in wsl --uppdatering i PowerShell.

Alternativt, om du använder Ubuntu Preview på WSL, läggs systemd till automatiskt.

Hur man aktiverar systemd

För att aktivera systemd, åtminstone just nu, måste du lägga till en instruktion till din wsl.conf fil. Detta är en konfigurationsfil som finns i alla WSL Linux-distroer och låter dig konfigurera på en per-distro-basis, snarare än att ändra globala WSL-inställningar.

Det är en enkel textfil, så du behöver bara öppna den i en textredigerare. I det här exemplet använder vi Nano. Öppna din wsl.conf i din valda Linux-distro genom att ange följande:

sudo nano /etc/wsl.conf

Du kommer nu med största sannolikhet att titta på ett tomt dokument om du inte tidigare har byggt din egen konfigurationsfil.

För att aktivera systemd skriv bara in detta i din wsl.conf-fil:

[boot]
systemd=true

Nu kan du helt enkelt spara och avsluta filen (CTRL+O för att spara och CTRL+X för att avsluta). Härifrån måste du stänga av din WSL-session helt. Stäng av Linux och gå tillbaka till ett PowerShell-fönster och skriv in:

wsl.exe--shutdown

Detta kommer att helt stänga av WSL på din maskin. Öppna bara din Linux-distro igen. Den första uppstarten kan ta några sekunder längre, men när den är klar kommer du att köra systemd. Du kan kontrollera att det fungerar med systemctl, en av tjänsterna som är beroende av systemd:

systemctl list-unit-files --type=service

Du bör se en lista över de tjänster som körs nu. Det är allt som finns för att aktivera systemd. Och naturligtvis, genom att ändra till false i din wsl.conf kan du stänga av den om du vill när som helst.

Använder snap på Ubuntu på WSL

En av de extra bonusarna med att använda systemd på Ubuntu på WSL är att snap nu fungerar korrekt. Alla kommer inte att köra för att använda det, men det är en annan funktion som WSL-användare har tillgång till. Och det finns några användbara snappaket som du kanske vill prova.

Nextcloud är till exempel ett alternativ med öppen källkod till Microsoft 365 och Googles molnappar och lagring. Nextcloud snap är ett av de bästa sätten att installera det på Linux och det är nu öppet på WSL. Att installera snaps är detsamma som att använda apt (eller någon annan pakethanterare) som ersätter snap in place:

sudo snap install nextcloud

Du kan snabbt hitta tillgängliga snaps genom att kolla in snapcraft.io.