ID.nl logo
WSLg: de kracht van Linux in je vertrouwde Windows-omgeving
© Andreas Prott - stock.adobe.com
Huis

WSLg: de kracht van Linux in je vertrouwde Windows-omgeving

Via allerlei kunst- en vliegwerk kun je al langere tijd Linux op je Windows-pc draaien. Opdrachtregelcommando’s zijn natuurlijk één ding, maar het plaatje wordt pas compleet als je ook toepassingen met een grafische gebruikersinterface kunt uitvoeren. Met het grafische deel van het Windows-subsysteem voor Linux kan dit perfect.

In dit artikel laten we zien hoe je op een Windows-pc Linux kunt draaien, met WSL(g):

  • Check de systeemeisen
  • Installeer WSL met één commando
  • Installeer een extra Linux-distributie
  • Beheer de geïnstalleerde distributies

Toch liever een dualboot-installatie? Windows én Linux: zo zet je twee besturingssystemen op één pc

Code downloaden

In dit artikel worden voorbeelden van diverse commando’s gegeven. Omdat het overtikken van dergelijke opdrachten erg foutgevoelig is, kun je ze beter downloaden en daarna bekijken of kopiëren. Zie het bestand codewinlin.txt.

Linux onder Windows draaien? Het idee wringt misschien wat – vooral bij Linux-puristen – maar het is zeker mogelijk. We kunnen zelfs zonder moeite diverse manieren bedenken om dit te doen: met halve Linux-emulators als Cygwin of Git for Windows, dualboot, virtuele machines, containers, x-server-forwarden, remote desktop en zelfs standaard in Windows met het grafische deel van het Windows-subsysteem voor Linux ofwel WSL(g).

1 Waarom?

Wellicht vraag je je af waarom je Linux onder Windows zou willen draaien? Bijvoorbeeld omdat je Linux beter wilt leren kennen zonder een aparte fysieke machine of een complexe dualboot-opstelling te configureren. Je behoudt bovendien je vertrouwde Windows-omgeving, terwijl je kennismaakt met de mogelijkheden van Linux – vooral voor ontwikkelaars en IT-professionals biedt Linux een bredere set tools en applicaties.

Het werkt ook comfortabel wanneer je binnen dezelfde machine snel tussen Linux- en Windows-taken kunt schakelen. Als je Linux in een sandbox-omgeving op Windows draait, biedt dit extra isolatie en veiligheid, wat nuttig kan zijn bij het testen van potentieel onveilige software. Dit geldt met name voor WSL(g). Maar wat moet je je hierbij precies voorstellen en hoe zit dit technisch in elkaar?

Een dualboot-configuratie (hier met Ubuntu) is altijd wel een complexe operatie.

2 Wat is WSL?

WSL staat voor Windows-subsysteem voor Linux, een compatibiliteitslaag ontwikkeld door Microsoft die het mogelijk maakt Linux-opdrachtregelcommando’s en -applicaties native op Windows te draaien. Er zijn inmiddels twee hoofdversies van WSL uitgebracht.

WSL 1 kwam in 2016 op de markt en gebruikt een compatibiliteitslaag die Linux-systeemoproepen naar Windows-systeemoproepen vertaalt, zodat Linux-binary’s rechtstreeks op de Windows-kernel kunnen worden uitgevoerd. Dit kan soms leiden tot compatibiliteitsproblemen met bepaalde applicaties of tools, omdat er geen echte Linux-kernel is.

Drie jaar later kwam WSL 2 uit, met als belangrijkste verschil dat die wel een echte Linux-kernel gebruikt. De kernel draait in een lichtgewicht virtuele machine (VM), beheerd door (een in Windows Home uitgeklede versie van) Hyper-V, waardoor een sandbox-omgeving wordt gecreëerd. WSL 2 maakt gebruik van een virtueel bestandssysteem: toegang tot Windows-bestanden is mogelijk, maar Linux-bestanden blijven geïsoleerd binnen de VM, overigens net als Linux-processen. Ook de netwerkstack van de VM kan van het hostnetwerk worden geïsoleerd, of door netwerkconfiguraties of firewallregels binnen Windows worden beperkt. Precies doordat een Linux-kernel wordt gebruikt, biedt WSL 2 over het algemeen betere bestandsinvoer/uitvoer- en netwerkoperaties evenals een hogere mate van compatibiliteit.

SL 2: dankzij Hyper-V kunnen zowel de Windows NT- als Linux-kernel parallel aan elkaar draaien.

3 WSLg: wat?

WSLg (g staat voor GUI ofwel Graphical User Interface) is een uitbreiding van WSL 2 en werd in 2021 algemeen beschikbaar. WSLg gebruikt het Wayland-protocol, een modern alternatief voor het oudere X11-systeem, om grafische Linux-applicaties weer te geven. De grafische uitvoer van Wayland wordt vervolgens via FreeRDP, een opensource-implementatie van RDP (Remote Desktop Protocol), doorgegeven aan de ingebouwde RDP-client in Windows, zodat deze netjes in het Windows-bureaublad kan worden geïntegreerd. Hierdoor blijven deze toepassingen veilig binnen de sandbox-omgeving van Linux, terwijl ze toch op je Windows-bureaublad verschijnen.

WSLg maakt gebruik van FreeRDP om ‘op afstand’ de Linux-GUI te kunnen bedienen.

4 Systeemeisen

WSL 2 is dus erg handig, maar heeft wel enkele specifieke hardware- en software-eisen.

Wat hardware betreft, heb je een 64bit-processor met ondersteuning voor virtualisatie nodig, omdat WSL 2 gebruikmaakt van de VM van Hyper-V. Controleer of hardware-virtualisatie in het UEFI/BIOS is ingeschakeld, doorgaans aangeduid als AMD-V of Intel VT-x.

Dit kun je ook vanuit Windows controleren: open Taakbeheer met Ctrl+Shift+Esc, ga naar Prestaties, kies Processor en controleer of de status van Virtualisatie op Ingeschakeld staat.

Verder heb je een up-to-date stuurprogramma voor je grafische kaart met ondersteuning voor WSLg nodig en voldoende vrije schijfruimte. En je hebt minimaal Windows 10 versie 19044 (21H2) nodig of Windows 11. Je controleert dit via Instellingen / Systeem, bij Info.

Je hebt hardware-virtualisatie nodig om met WSL 2 (en WSLg) aan de slag te kunnen.

5 Automatische installatie

De periode dat deelname aan het Windows Insider Programma vereist was om toegang tot WSLg te krijgen, ligt gelukkig achter ons. Als je systeem aan de vermelde systeemeisen voldoet, kun je meteen aan de slag.

Je kunt WSL met één commando installeren. Dit doe je vanuit Opdrachtprompt of de Windows Terminal, die je als administrator opstart. We gaan uit van de Terminal: klik met de rechtermuisknop op de Windows-startknop, kies Terminal (beheerder) en bevestig met Ja. In Windows 10 kies je in plaats van Terminal voor de optie Windows PowerShell (Admin). Voer het volgende commando uit: wsl --install. Windows zal nu vragen je pc te herstarten.

Hiermee activeer je niet alleen de nodige componenten voor WSL 2, maar je zet tegelijk al een Linux-distributie klaar. Standaard is dit Ubuntu, maar in paragraaf 7 zie je hoe je ook andere Linux-distributies kunt installeren.

Je kunt WSL en Ubuntu met één commando activeren en installeren.

6 Handmatige installatie

Microsoft heeft het dus zeer eenvoudig gemaakt om WSL te activeren, maar wellicht ben je geïnteresseerd in het onderliggende installatieproces. In plaats van het installatiecommando op de Terminal te gebruiken, kun je het proces ook ‘handmatig’ sturen, zodat je meer inzicht krijgt in wat er precies gebeurt.

Dit kan als volgt. Druk op Windows-toets+R en voer optionalfeatures uit. In het venster Windows-onderdelen scrol je naar Windows-subsysteem voor Linux en zorg je dat dit is aangevinkt. Schakel ook het onderdeel Platform voor virtuele machine in. Bevestig je keuzes met OK en herstart Windows.

Lukt dit om een of andere reden niet, dan kan het ook via PowerShell als administrator. Voer achtereenvolgens de volgende commando’s uit:

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

Nadat telkens de melding van een succesvolle uitvoering is verschenen, herstart je ook nu je pc.

Om er zeker van te zijn dat je over de recentste Linux-kernel beschikt, download en installeer je het WSL 2 Linux-kernel-updatepakket via https://aka.ms/wsl2kernel, waar je op WSL 2 Linux kernel update forx64 machines klikt. Dubbelklik vervolgens op het gedownloade msi-bestand. Een installatiewizard verschijnt. Klik hier op Next en bevestig met Ja en Finish.

Je hebt hardware-virtualisatie nodig om met WSL 2 (en WSLg) aan de slag te kunnen.

Virtualisatie-onderdelen

Om WSL te activeren, moet je bepaalde Windows-onderdelen inschakelen die met virtualisatie te maken hebben. Het gaat om Platform voor virtuele machine en Windows-subsysteem voor Linux, beide nodig voor een gevirtualiseerde Linux-kernel.

In Windows Home vind je tevens het onderdeel Windows Hypervisor-platform. Dit moet je inschakelen als je met een externe hypervisor oftewel VM-manager wilt werken, zoals Oracle VirtualBox.

In Windows Pro is er ook nog het onderdeel Hyper-V, waarmee je een volwaardige hypervisor inschakelt om zelf virtuele machines te creëren en beheren. Daarnaast biedt Windows Pro nog de onderdelen Windows-Sandbox voor een virtuele Windows-testmachine, Microsoft Defender Application Guard voor het openen van sites en documenten in afgeschermde browser- en Office-instanties, en Containers voor het gebruik van Windows-containers.

Windows Pro nog wat meer onderdelen die met virtualisatie te maken hebben.

7 Zelf een Linux-distributie installeren

Bij de geautomatiseerde installatie (zie paragraaf 5) wordt Ubuntu standaard mee geïnstalleerd. Hoe je hiermee aan de slag gaat, lees je vanaf de volgende paragraaf. Eerst vertellen we je hoe je zelf een (extra) Linux-distributie installeert via WSL.

We gaan ervan uit dat je met grafische Linux-applicaties wilt werken en dus WSL 2 (met uitbreiding WSLg) nodig hebt. Stel daarom WSL 2 in als standaardversie. Klik in het startmenu met rechts op Opdrachtprompt of PowerShell, kies Als Administrator uitvoeren en voer het volgende commando uit:

wsl --set-default-version 2

Een Linux-distributie ophalen en installeren kan als volgt. Voer eerst het volgende commando uit om te zien welke Linux-distributies al op je systeem zijn geïnstalleerd:

wsl --list -all

Vraag vervolgens een lijst van beschikbare distributies op (op dit moment zijn dat veertien distributieversies):

wsl --list --online

Om een distributie te installeren, voer je dit commando uit:

wsl --install -d <Name>

Bijvoorbeeld:

wsl --install -d Ubuntu24.04

of

wsl --install -d kali-linux

Het kan ook vanuit de Microsoft Store: typ Linux in de zoekbalk rechtsboven, houd de muispijl boven de gewenste distributie en selecteer Downloaden, waarna de installatie kan beginnen.

Je kunt je Linux-distributies vanaf de opdrachtregel installeren en beheren.

8 Distributies beheren

Met het volgende commando krijg je een lijst van alle geïnstalleerde distributies, hun status (Running of Stopped) en de WSL-versie waaronder ze draaien:

wsl --list --verbose

Of korter:

wsl -l -v

Omdat je WSL 2 als standaard hebt ingesteld, zou er normaal gesproken 2 moeten staan in de kolom Version. Je kunt een distributie ook naar een andere versie omzetten met:

wsl --set-version <NAME> <VersieNummer>

Bijvoorbeeld:

wsl --set-version Debian 2

Wanneer je het commando wsl zonder verdere parameters uitvoert, start de standaard Linux-distributie, normaliter Ubuntu. Om een specifieke distributie te starten, gebruik je:

wsl -d <naam>

De distributies vind je trouwens ook terug onder hun volledige naam in het Windows-startmenu, zoals Ubuntu of Kali Linux.

Wil je een andere distributie als standaard instellen, voer dan deze opdracht uit:

wsl --setdefault <naam>

Het is mogelijk een distributie met een specifieke gebruiker op te starten vanuit de Opdrachtprompt met:

wsl --user <gebruikersnaam>

In Ubuntu bijvoorbeeld creëer je een gebruiker met:

sudo adduser <gebruikersnaam>

En whoami vertelt je wie is aangemeld.

Een opgestarte distributie sluit je af met het commando exit vanuit de Linux-terminal of je voert in de Windows Opdrachtprompt wsl --shutdown uit. Dit laatste commando sluit overigens alle draaiende distributies in één keer af.

Je kunt een distributie, inclusief de bijbehorende software, gegevens en instellingen, verwijderen met:

wsl --unregister <naam>

Bijvoorbeeld:

wsl --unregister Ubuntu-22.04

Je kunt een distributie ook meteen met de gewenste gebruiker opstarten.

9 Pakketbeheer in Ubuntu

Wanneer je een Linux-distributie via WSL installeert, word je bij de eerste opstart om een gebruikersnaam (UNIX-name) en wachtwoord gevraagd. Daarna beland je in de terminal, achter een prompt als <gebruikersnaam>@<computernaam>:~$. We nemen hier de standaarddistributie Ubuntu als voorbeeld. Met het commando lsb_release -a ontdek je de exacte Ubuntu-versie en met uname -r de versie van de Linux-kernel (zoals 5.15.133.1-microsoft-standard-WSL2).

Werk de Ubuntu-pakketbronnen bij en update de geïnstalleerde pakketten met de volgende commando’s:

sudo apt update
sudo apt upgrade

Controleer welke pakketten een update nodig hebben met:

sudo apt list --upgradable

Om een specifiek pakket te updaten, gebruik je:

sudo apt --only-upgrade install <pakketnaam>

Zoek naar een exacte pakketnaam met:

apt search <zoekterm>

En installeer deze vervolgens met:

sudo apt install <pakketnaam>

Bijvoorbeeld:

sudo apt install imagemagick

Handig om weten: met het commando clear maak je het terminalvenster leeg.

In een vers geïnstalleerde Ubuntu (22.04) zijn doorgaans heel wat pakketten aan een update toe.

10 Grafische applicaties

We gaan ervan uit dat WSL 2 actief is en dat je probleemloos Linux-distributies kunt installeren en starten. Dit betekent dat WSLg beschikbaar is en je grafische Linux-applicaties kunt draaien. Mocht het opstarten van grafische Linux-applicaties onverhoopt niet werken, kun je ontbrekende onderdelen voor WSLg herstellen met deze commando’s:

wsl --update
wsl --shutdown

Met dit laatste commando stop je alle draaiende WSL-instanties en sluit je de achterliggende virtuele machine af. Om WSL daarna weer op te starten, hoef je alleen een WSL-commando uit te voeren of een Linux-distributie te starten.

We nemen verder Ubuntu als voorbeeld en installeren we de grafische bestandsbrowser Nautilus. Start de Ubuntu-terminal en voer dit commando uit:

sudo apt install nautilus -y

Start de app daarna op met het commando nautilus. Op dezelfde manier kun je andere grafische apps installeren, zoals:

VLC Media Player:

sudo apt install vlc -y

Fotobewerker GIMP:

sudo apt install gimp -y

Gnome Text Editor:

sudo apt install gnome-text-editor -y

Deze drie voorbeelden start je later dan op met respectievelijk vlc, gimp en gnome-text-editor.

WSLg in actie: de grafische bestandsbrowser Nautilus voor Linux, vanuit Windows.

11 X-server

WSLg kan overweg met de meeste grafische Linux-applicaties, maar soms is de weergave gebrekkig. Voor X11-applicaties kun je het dan nog eens met een X-server proberen, zoals het gratis VCXsrv. Download de server via www.sourceforge.net/projects/vcxsrv en installeer deze met de standaardinstellingen. Start daarna XLaunch via het Windows-startmenu. Kies achtereenvolgens: Multiple Windows (-1) en Start no client, en zet een vinkje bij Disable access control. Geef desgevraagd je firewall toestemming voor de netwerkverbinding van de server. Open vervolgens je Ubuntu-terminal en voer de volgende commando’s uit:

echo export DISPLAY=$(hostname).local:0.0 >> ~/.bashrc
source ~/.bashrc

Controleer deze aanpassing eventueel met:

gnome-text-editor ~/.bashrc

Probeer het uit met:

sudo apt install x11-apps

En start grafische testapplicaties zoals xcalc, xclock of xeyes. Wanneer je in het Windows-systeemvak over het XLaunch-pictogram beweegt, verschijnt als het goed is 1 clients.

Een alternatief voor WSLg: grafische Linux-uitvoer naar Windows via X-server.

12 Wisselwerking

Dankzij WSL(g) kun je (grafische) Linux-applicaties binnen je Windows-omgeving opstarten. De geïnstalleerde distributies vind je bij naam in het startmenu van Windows. Hier tref je ook geïnstalleerde Linux-applicaties aan binnen de map van de distributie en kun je deze zelfs aan je taakbalk of startmenu vastpinnen. Het is mogelijk Linux-commando’s rechtstreeks vanuit de Windows Opdrachtprompt uit te voeren door ze vooraf te laten gaan door wsl. Bijvoorbeeld, om de mapinhoud te bekijken, voer je wsl ls uit. Wanneer je Verkenner opent zie je onderaan in het navigatiepaneel de Linux-mascotte Tux, met aparte mappen voor elke geïnstalleerde Linux-distributie.

Deze integratie werkt ook andersom. Zo kun je diverse commando’s op de Linux-terminal uitvoeren, zoals dir om de mapinhoud op te vragen. Je kunt vanuit Linux bovendien door je Windows-mappenstructuur navigeren. Voer mount uit in de Linux-terminal en je ziet stations zoals /mnt/c, /mnt/d (voor C- en D-stations enzovoort). Navigeer door deze mappen met cd, bijvoorbeeld: cd /mnt/c/windows. Keer terug naar de bovenliggende map met cd ..

Je kunt ook een grafische bestandsbrowser gebruiken, zoals Nautilus. Ga hiervoor naar +Other locations / Computer en navigeer naar het gewenste station, zoals /mnt/c.

Je vindt Linux-applicaties ook terug in het Windows-startmenu en op de taakbalk.

Watch on YouTube
▼ Volgende artikel
AOC brengt 260 Hz en G-SYNC-compatibiliteit naar betaalbare 24- en 27-inch schermen
© AGON by AOC
Huis

AOC brengt 260 Hz en G-SYNC-compatibiliteit naar betaalbare 24- en 27-inch schermen

AGON by AOC breidt zijn G4-serie uit met twee snelle instapmonitors voor competitieve games: de AOC GAMING 24G4ZR (23,8 inch) en 27G4ZR (27 inch). Beide modellen combineren een Fast IPS-paneel met een verversingssnelheid tot 260 Hz (240 Hz standaard) en een lage bewegingsonscherpte.

De nieuwe G4ZR-modellen richten zich op gamers die vooral snelheid zoeken, maar tegelijkertijd op hun budget willen (of moeten) letten. AOC zet de monitors standaard op 240 Hz en laat je optioneel naar 260 Hz overklokken via het OSD-menu of de G-Menu-software. De responstijden worden opgegeven als 1 ms GtG en 0,3 ms MPRT, waarbij die laatste waarde vooral iets zegt over bewegingsscherpte met backlight-strobing ingeschakeld.

Voor vloeiend beeld ondersteunen de 24G4ZR en 27G4ZR Adaptive-Sync en zijn ze volgens AOC NVIDIA G-SYNC-compatibel. Ook is er MBR Sync, waarmee variabele verversingssnelheid en backlight-strobing tegelijk gebruikt kunnen worden. Dat moet tearing en haperingen tegengaan, terwijl snelle bewegingen scherper blijven.

©AGON by AOC

Beeldkwaliteit, standaard en aansluitingen

Qua beeldkwaliteit kiest AOC voor Fast IPS, wat doorgaans snellere pixelovergangen combineert met IPS-eigenschappen zoals brede kijkhoeken. De 27-inch variant haalt volgens AOC 121,5% sRGB en 92,3% DCI-P3; de 23,8-inch versie 111,7% sRGB en 87,7% DCI-P3. De helderheid is 300 cd/m² en de kijkhoeken zijn 178 graden, zodat kleuren ook bij een schuine kijkpositie redelijk consistent blijven.

De ZR-modellen krijgen een volledig verstelbare standaard met 130 mm hoogteverstelling, plus kantelen, draaien en pivot. Handig als je je schermhoogte en -hoek precies wilt afstellen voor lange sessies. Daarnaast zijn de monitoren VESA 100x100-compatibel voor een arm- of wandmontage. Aansluiten kan via 2x HDMI 2.0 en 1x DisplayPort 1.4. Verder noemt AOC flicker-free en een hardwarematige low blue light-stand om vermoeide ogen te beperken.

©AGON by AOC

Naast de twee nieuwe modellen komen later ook varianten met een eenvoudiger voet die alleen kan kantelen: de 24G4ZRE en 27G4ZRE. Die gebruiken volgens AOC hetzelfde paneel en dezelfde snelheidsspecificaties, maar zijn bedoeld voor wie geen uitgebreide ergonomie nodig heeft.

Beschikbaarheid en prijzen

De AOC GAMING 24G4ZR, 27G4ZR, 24G4ZRE en 27G4ZRE hebben de volgende adviesprijzen: de 24G4ZR kost 149 euro en de 27G4ZR 169 euro. De tilt-only varianten zijn goedkoper: 129 euro voor de 24G4ZRE en 149 euro voor de 27G4ZRE.

Wat betekent MPRT?

MPRT staat voor 'Moving Picture Response Time' en gaat over bewegingsscherpte: hoe scherp een object blijft als het snel over het scherm beweegt. Fabrikanten halen lage MPRT-waardes vaak met backlight-strobing (de achtergrondverlichting knippert heel kort), wat bewegingen scherper kan maken. In ruil daarvoor kan het beeld wat donkerder worden en werkt het niet altijd even prettig voor iedereen.

▼ Volgende artikel
Gerucht: Nexon werkt aan Starcraft-shooter voor Blizzard
Huis

Gerucht: Nexon werkt aan Starcraft-shooter voor Blizzard

Het Zuid-Koreaanse zou een shooter gebaseerd op Starcraft in ontwikkeling hebben voor IP-eigenaar Blizzard.

Dat claimt The Korean Economic Daily. Een team binnen Nexon dat gespecialiseerd is in shooters zou zich op dit moment volledig richten op de nog onaangekondigde game. De ontwikkeling zou nog niet lang geleden zijn gestart, en dus zou de shooter nog lang op zich laten wachten.

Verdere details zijn er nog niet, behalve dat Choi Jun-ho ook bij het project betrokken zou zijn. Hij maakte eerder de populaire Shinppu-mapmod voor Starcraft.

Starcraft

Er gaan al langer geruchten over een shooter gebaseerd op Starcraft. Vorig jaar meldde Bloomberg-journalist Jason Schreier al in zijn boek 'Play Nice: The Rise, Fall and Future of Blizzard Entertainment' dat Blizzard aan een shooter zou werken. Volgens Schreier is de shooter van Nexon echter niet gerelateerd aan de shooter van Blizzard - het zouden om twee afzonderlijke projecten gaan.

De Starcraft-reeks bestaat uit real-time strategygames. De eerste verscheen in 1998, en een vervolg kwam in 2010 uit. Blizzard heeft al vaker geprobeerd shooters gebaseerd op de Starcraft-franchise te maken, maar die werden vooralsnog altijd geannuleerd.

Mogelijke onthulling op Blizzcon

Voor het eerst in enkele jaren organiseert Blizzard op 12 en 13 december de Amerikaanse beurs Blizzcon, waar alles rondom de uitgever wordt gevierd. Het is mogelijk dat één van de hierboven genoemde shooters daar wordt onthuld.