En djupdykning i WSL2-funktioner

Windows och Linux är de två mest populära operativsystemen (OS). Windows erbjuder ett användarvänligt tillvägagångssätt, men Linuxs höga anpassningsbarhet gör det till ett toppval för utvecklare, produktiva människor och elever.

Du behöver virtualisering inom Windows eller en dubbelstart för att komma åt dem tillsammans.

Det finns dock en ny Windows-funktion som låter dig enkelt komma åt Linux i Windows.

Möt WSL2 – Windows Subsystem för Linux kommer in. Det är en Windows-funktion som låter dig komma åt Linux i Windows.

Den här artikeln kommer att fokusera på WSL2. Vi kommer att täcka det i detalj, dess definition, syfte, installationsprocess och hur man använder det effektivt.

Låt oss börja.

Vad är Windows Subsystem för Linux?

Windows Subsystem för Linux låter dig komma åt GNU/Linux-miljön direkt från Windows terminal, vilket tar bort behovet av dual-boot eller använda virtualiseringsverktyg. Med den kan du komma åt Linux-kärnan. Det betyder att du kan använda Linux-funktioner direkt från Windows, inklusive kommandoradsverktyg, applikationer och verktyg.

WSL 2 är det senaste Windows-undersystemet som erbjuder bättre funktioner och hastighet än WSL1 (lanserat med Windows 10). Dessutom kommer de flesta Windows-installationer förinstallerade med WSL. För att använda den måste du aktivera den.

Under huven använder WSL2 Windows Hyper-V virtuella maskinteknik. Detta gör WSL2 Linux-kompatibel, vilket resulterar i nästan 20 gånger snabbare exekveringshastigheter än WSL1.

Kort sagt, WSL2 är det senaste Windows-undersystemet för Linux, vilket ger Windows-användare som du direkt tillgång till Linux-kärnan.

Komma igång med WSL2

Under hela vår handledning kommer vi också att använda Windows Terminal, ett praktiskt men rekommenderat alternativ för att arbeta med terminaler i Windows. Det är en modern, snabb och effektiv terminal för användare som vill arbeta med kommandoradsverktyg och WSL.

PC-krav

Inte alla datorer kan köra WSL2. Ditt system måste stödja virtualisering för att köra WSL2. Det beror på att WSL2 använder Hyper-V under huven.

Du måste också använda en 64-bitars CPU med stöd för SLAT (Second Level Address Translation). Nästan alla moderna processorer stöder det.

När det gäller diskutrymme behöver du minst 1 GB ledigt utrymme.

Aktivera virtualisering från BIOS

Om du uppfyller hårdvarukraven måste du aktivera det från moderkortets BIOS.

Gå in i BIOS genom att trycka på tangentbordstangenter som F2, Del eller F10.

I BIOS måste du hitta och aktivera AMD:s Secure Virtual Machines (SVM)/Intels Virtualization Technology VTx. När du är klar, starta om maskinen.

Om du behöver mer förtydligande, kolla in de detaljerade instruktionerna i mitt andra inlägg, Hur man installerar Ubuntu på Windows 10 med Hyper-V.

Aktivera Windows-funktioner för WSL2

Med hårdvarukraven uppfyllda är det nu dags att aktivera WSL2 från Windows.

Det första steget är att kontrollera din Windows-version. Detta hjälper oss att veta om din Windows stöder WSL eller inte.

För att göra det, tryck på CMD + R på ditt tangentbord och skriv ”winver.” Det kommer att visa din Windows-version.

Om du använder Windows 10 använder du förmodligen WSL1. Men för de flesta Windows 11-användare är det WSL2.

Alla versioner av Windows 10 och 11 stöder WSL2, förutom Windows S, eftersom det är inriktat på säkerhet och har virtualisering inaktiverad.

Om du använder Windows S måste du byta till en annan version, till exempel Windows Home eller Pro.

För att göra det, gå till Inställningar > Uppdatering och säkerhet > Aktivering för att ändra ditt operativsystem.

Du måste också ha den senaste Windows-uppdateringen installerad. Det kommer att säkerställa fullständig kompatibilitet och stöd för WSL2. För att uppdatera ditt system, gå till Inställningar > Windows Update.

För att använda WSL2 måste du aktivera flera Windows-funktioner.

Gå till Kontrollpanelen > Program och funktioner. Under den hittar du ”Slå på eller av Windows-funktioner.” Klicka på den och ett nytt fönster, ”Windows-funktioner”, öppnas.

Sök där efter ”Hyper-V”, ”Virtual Machine Platform” och ”Windows Subsystem for Linux.”

Det kommer sedan att be om en omstart för att ändringarna ska träda i kraft.

Du kan också aktivera det genom att köra följande kommando.

$ dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

$ dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

Installerar WSL2

Med alla förutsättningar täckta är det nu dags att installera WSL.

Öppna Windows Terminal (Windows 10) eller Windows PowerShell (Windows 11), skriv sedan följande kommando.

$ wsl

#produktion

Copyright (c) Microsoft Corporation. All rights reserved.

Usage: wsl.exe [Argument]

Arguments:
…..

Detta betyder att WSL är tillgängligt men inte aktiverat.

Nu, för att installera WSL, kör följande kommando med administratörsbehörighet.

$ wsl --install

#produktion

PS C:UsersLogan99> wsl --install

Installing: Virtual Machine Platform
Virtual Machine Platform has been installed.
Installing: Windows Subsystem for Linux
Windows Subsystem for Linux has been installed.
Installing: Ubuntu
Ubuntu has been installed.
The requested operation is successful. Changes will not be effective until the system is rebooted.

Obs: Du kanske inte ser detta, med tanke på att du aktiverat dem via Windows-funktioner. Istället bör du få följande utdata. (Om du gör det, hoppa till nästa avsnitt).

Ubuntu is already installed.
Launching Ubuntu...
Installing, this may take a few minutes...
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username:
New password:
Retype new password:

För att kontrollera WSL-versionen, skriv kommandot wsl –version.

$ wsl --version

#produktion

WSL version: 1.1.6.0

Kernel version: 5.15.90.1

WSLg version: 1.0.50

MSRDC version: 1.2.3770

Direct3D version: 1.608.2-61064218

DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp

Windows version: 10.0.22621.1413

Som du märker kommer WSL version 1.1.6.0 redan förinstallerad. Så om det inte fungerar och ger ett felmeddelande är WSL inte installerat.

För att ändra till WSL2, kör följande kommando.

$ wsl --set-default-version 2

Eftersom vårt system redan har WSL förinstallerat får vi detta meddelande.

Du kan också installera WSL från Windows Store. Öppna först Store och sök ”Windows Subsystem for Linux.”

Klicka på ”Hämta”. och vänta på att den ska installeras.

När det är installerat kan du klicka på ”Öppna”, det öppnar en Windows-terminal med meddelandet ”Windows Subsystem for Linux har inga installerade distributioner.”

Installerar distribution på WSL

Med WSL installerat är det dags att installera Linux-distributioner.

Som standard installerar WSL Ubuntu LTS-versionen. För att göra det måste du köra följande kommando.

$ wsl --install

Det kommer att börja installera Ubuntu. Den kommer att be dig att ange ett nytt UNIX-användarnamn och lösenord under installationen.

Du får en Ubuntu Linux-prompt när installationen är klar. Här kan du använda alla Linux-kommandon. Låt oss kolla Ubuntu-versionen.

$ lsb_release -a

#produktion

No LSB modules are available.

Distributor ID: Ubuntu

Description:    Ubuntu 22.04.1 LTS

Release:        22.04

Codename:       jammy

Det är allt! Du har nu tillgång till Linux-kärnan.

För att avsluta distributionen måste du skriva följande kommando.

$ exit

#produktion

[email protected]:/mnt/c/Users/Logan99$ exit

logout

Installerar fler distros

På samma sätt kan du installera andra distros som Fedora, Debian och OracleLinux_8_5. För att se tillgängliga distro-alternativ, skriv följande kommando.

$ wsl --list --online

För att installera Debian måste vi skriva följande kommando.

$ wsl --install -d Debian

Or

$ wsl.exe --install Debian

Precis som Ubuntu kommer den också att be dig installera ett användarnamn och lösenord.

#produktion

Låt oss nu kolla Debianversionen.

$ cat /etc/issue

#produktion

$ Debian GNU/Linux 11 n l

Men hur är det med Fedora? Det är inte listat när du använder kommandot wsl –list –online.

Tja, du kan installera distros från Windows Store också.

Öppna Windows Store och skriv Linux distros; det kommer att lista alla tillgängliga. Här kan du bara se de officiella distros som stöds.

För inofficiellt distrostöd måste du söka manuellt. Dessa inofficiella distributioner kan dock vara buggiga och inte 100 % säkra. Så använd den bara för experimentändamål.

Klicka på ”Installera” för att göra den tillgänglig på ditt system.

Ställa in förinställd Distro

Om du vill se listan över tillgängliga distros kan du lista dem med följande kommando.

$ wsl --list

Nyckelordet ”Standard” runt Ubuntu betyder att standard Linux-distro lanseras när du skriver ”wsl” i kommandotolken.

För att ändra standarddistro, skriv följande kommando.

$ wsl --setdefault <DistroName>

Så för att ställa in Debian som vår standarddistro, måste vi skriva följande kommando.

$ wsl --setdefault Debian

Så nästa gång du skriver wsl i terminalen kommer du att starta Debian.

Byt WSL-version för Distro

Som standard använder distros WSL2. För att lista dina nuvarande installerade distros och deras WSL-version, skriv följande kommando.

$ wsl --list --verbose

#produktion

NAME      STATE           VERSION

* Ubuntu    Stopped         2

  Debian    Stopped         2

Här hänvisar * till standardinstallationen av Linux.

För att ändra WSL-versionen från 2 till 1, skriv:

$ wsl --set-version Ubuntu 1

Och om du vill byta tillbaka till 2 från 1, skriv:

$ wsl --set-vesion Ubuntu 2

Obs! Det kan ta lite tid innan konverteringen äger rum. Stäng inte fönstret under konverteringen.

Startar särskilda distros med olika användarnamn

Vad händer om du vill lansera en viss distro? För att göra det måste du skriva följande kommando.

$ wsl -d <DistroName>

Or

$ wsl --distribution <DistroName>

För att starta Ubuntu, skriv:

$ wsl -d Ubuntu

Om du vill starta den med ett visst användarnamn måste du lägga till –användare följt av användarnamnet.

$ wsl -d <DistroName> --user <UserName>

Till exempel för att starta Debian med ett ”root”-användarnamn.

$ wsl -d Debian --user root

Obs: Om du startar distron med en icke-existerande användare visas ett felmeddelande, ”Användaren hittades inte.”

Uppdatera Linux

Du kan uppdatera din Linux-distro genom att skriva följande kommando:

$ sudo apt update

$ sudo apt upgrade

Dessutom kan du också leta efter Linux-kärnuppdateringar för WSL:

$ wsl --update

Konfigurera Visual Studio Code med WSL2

Du kan också ställa in VS Code för att fungera med WSL. På så sätt kan du komma åt WSL-terminalen direkt från VS-koden. Det kan hjälpa dig att utveckla applikationer på Linux-baserade applikationer samtidigt som du får åtkomst till Linux-specifika verktyg och verktygskedjor.

Dessutom kan du också ha tillgång till Windows-specifika produktivitetsverktyg samtidigt som du drar fördel av VS Code-funktioner.

För att få det att fungera måste du installera tilläggspaketet Remote Development. Du kan också söka efter den direkt från VS-koden genom att söka efter dess namn på tilläggsfliken.

Om du arbetar lokalt kan du ställa in det genom att gå till VS Code-menyn. Därifrån väljer du Visa > Terminal.

Det kommer att öppna terminalen. Du hittar symbolen > bredvid symbolen ”+”. Klicka på den så hittar du WSL-terminalerna listade.

Här kan du också välja ”Standardprofil”.

Detta är möjligt eftersom VS Code direkt kan komma åt \wsl$ och eventuella felsökningsverktyg som körs på localhost.

Arbeta med grafiska applikationer och WSL2

För att arbeta med grafiska applikationer måste du installera rätt drivrutiner för WSL2. Intel, AMD och Nvidia erbjuder en drivrutin för WSL så att Linux-baserade grafiska applikationer kan fungera smidigt.

Du kommer dock fortfarande att hitta problem med detta tillvägagångssätt. Först och främst kan dessa grafiska appar ha vissa funktioner som inte fungerar. Dessutom kanske många appar inte fungerar, vilket gör att du kan leta efter alternativ.

Kort sagt är det i första hand en trial-and-error-metod, där du kan spendera för mycket tid.

Du kan kolla deras WSL2-guide om att arbeta med grafiska applikationer med Ubuntu.

Docker Desktop WSL2 på Windows

Om du inte vill ställa in lokalt med Hyper-V kan du använda Docker Desktop, som officiellt stöder WSL2. Med den kan du ställa in ett snabbare arbetsflöde för att använda Docker-verktyg direkt på Windows. För att lära dig mer, kolla in guiden här.

Varför tar Microsoft Linux på allvar?

Microsoft är ett eget företag. Det skapar lösningar som Windows i en sluten miljö och vill att användarna ska hålla sig till Windows snarare än Linux.

Men 2016 tillkännagav de ett åtagande till öppen källkod. Synen förändrades i början av 2001 när Steve Ballmer kallade Linux för en ”cancer”.

2023 förändrades saker. Microsoft använder Linux direkt i sitt ekosystem. De tillkännagav WSL2 i maj 2019 och introducerade WSL2 i oktober 2021 till Windows Store. De släppte också WSL2 v1.0 i november 2022.

De har också gjort Microsoft-programvara som Edge och Teams tillgängliga för Linux-användare. De bidrar också aktivt till Linux-kärnan och är en produktmedlem i Linux Foundation.

Alla dessa tips om att Microsoft tar Linux på allvar. Vissa skeptiker tror dock inte att Microsoft älskar Linux.

Kort sagt, Microsoft är intresserad av Linux. Deras Window-undersystem är ett bevis på att de bryr sig om Linux och öppen källkod. Men viktigast av allt, det talar om för oss att de vill att deras användare ska ha sömlös åtkomst till Linux-kärnan utan att behöva använda virtualisering eller göra en dual-boot till ett Linux-operativsystem.

Slutord

I en tidevarv av ”vilket OS är bäst för utvecklare” kan utvecklare välja en väg för att komma åt båda. WSL2 ger tillgång till Linux Kernel genom olika Linux-distros. Dessutom är den snabb och fungerar med Docker.

För närvarande är WSL2 i aktiv utveckling, löser kompatibilitetsproblem och ger mer makt till utvecklarnas händer. Därför kan vi säga att framtiden ser ljus ut med WSL2, och Microsoft tar alla steg för att göra Linux-kärnan tillgänglig för sina Windows-användare.

Kolla sedan in Linux-distros för att veta som systemadministratör och utvecklare.