Slik aktiverer du systemd i Windows Subsystem for Linux (WSL)

Hvorvidt systemd i Linux er bra eller dårlig vil avhenge av hvem du snakker med, men det er viktig, så mye at noen av Windows-undersystem for Linux (WSL) samfunnet hadde bygget sine egne måter å implementere det på. Microsoft har gjort jobben nå, men i samarbeid med Canonical, for å offisielt implementere systemd i WSL.

I utgangspunktet er det imidlertid ikke bare tilgjengelig for alle og aktivert som standard. Du har også muligheten til å deaktivere den når som helst når du har aktivert den. Her er det du trenger å vite.

Hva er systemd?

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

Den korte, offisielle beskrivelsen av systemd er:

Systemd er en pakke med grunnleggende byggeklosser for et Linux-system. Den gir en system- og serviceadministrator som kjører som PID 1 og starter resten av systemet.

Noen av de mest populære Linux-distroene der ute bruker allerede systemd som standard på bare metallinstallasjoner. Noen av disse, som Ubuntu og Debian, er også tilgjengelige på WSL.

Inkluderingen av systemd på WSL bringer verktøyet enda nærmere opplevelsen av å kjøre Linux. Det kreves også for noen verktøy som nå er enkelt å bruke på WSL, for eksempel snap, microk8s og systemctl.

Hva du trenger for å få systemd i WSL

Hvis du bruker Windows-versjonen av WSL, det vil si den du aktivert gjennom PowerShell og ikke lastet ned fra butikken, vil du ikke ha systemd i utgangspunktet. Bare de som bruker en Insider-bygg av Windows 11, eller de som bruker WSL som lastet ned fra Microsoft Store vil ha det. Versjonsnummeret du trenger er 0.67.6 og nyere.

For å sjekke om du har riktig versjon, åpne et PowerShell-vindu og gå inn wsl --versjon og sjekk svaret. Hvis det er under 0.67.6, gå til Microsoft Store og last ned WSL. Alternativt kan du hente den nyeste utgivelsen fra WSL GitHub repo.

I fremtiden vil alle brukere få systemstøtte lagt til, og du kan se etter oppdateringer til WSL ved å gå inn wsl --oppdatering i PowerShell.

Alternativt, hvis du bruker Ubuntu Preview på WSL, blir systemd lagt til automatisk.

Hvordan aktivere systemd

For å aktivere systemd, i det minste akkurat nå, må du legge til en instruksjon til din wsl.conf fil. Dette er en konfigurasjonsfil som finnes i en hvilken som helst WSL Linux-distro og lar deg konfigurere på en per-distro-basis, i stedet for å endre globale WSL-innstillinger.

Det er en enkel tekstfil, så du trenger bare å åpne den i et tekstredigeringsprogram. I dette eksemplet bruker vi Nano. Åpne opp wsl.conf i din valgte Linux-distro ved å skrive inn følgende:

sudo nano /etc/wsl.conf

Du vil nå mest sannsynlig se på et tomt dokument med mindre du tidligere har laget din egen konfigurasjonsfil.

For å aktivere systemd, skriv inn dette i filen wsl.conf:

[boot]
systemd=true

Nå kan du ganske enkelt lagre og avslutte filen (CTRL+O for å lagre og CTRL+X for å avslutte). Herfra må du lukke avstengningen av WSL-økten din helt. Lukk Linux og gå tilbake til et PowerShell-vindu og skriv inn:

wsl.exe--shutdown

Dette vil helt slå av WSL på maskinen din. Nå er det bare å åpne Linux-distroen på nytt. Den første oppstarten kan ta noen sekunder lenger, men når den er oppe vil du kjøre systemd. Du kan sjekke at det fungerer ved å bruke systemctl, en av tjenestene som er avhengige av systemd:

systemctl list-unit-files --type=service

Du bør se en liste over de kjørende tjenestene nå. Det er alt som skal til for å aktivere systemd. Og selvfølgelig, ved å endre til false i wsl.conf kan du slå den av hvis du ønsker det når som helst.

Bruker snap på Ubuntu på WSL

En av de ekstra bonusene ved å bruke systemd på Ubuntu på WSL er at snap nå fungerer som det skal. Ikke alle vil løpe for å bruke det, men det er en annen funksjon som WSL-brukere har tilgang til. Og det er noen nyttige snap-pakker du kanskje vil prøve.

Nextcloud, for eksempel, er et åpen kildekode-alternativ til Microsoft 365 og Googles skyapper og lagring. Nextcloud snap er en av de beste måtene å installere den på Linux, og den er nå åpen på WSL. Å installere snaps er det samme som å bruke apt (eller annen pakkebehandling) som erstatter snap in place:

sudo snap install nextcloud

Du kan raskt finne tilgjengelige snaps ved å sjekke ut snapcraft.io.