Windows Subsystem for Linux installeren met commandline

Noud van Kruysbergen
1

Tijdens de ontwikkeling varieerden de tips om Windows Subsystem for Linux (2) te installeren. Nu is het duidelijk: als je een actuele Windows-versie hebt, is de commandline de handigste manier. Vanaf de eerste pogingen bij de Insider Builds van Windows 10 in 2016, tot de huidige versie in Windows 11, hebben de ontwikkelaars de manier van werken sterk veranderd en doen ze een flinke graai in de technologische trukendoos voor besturingssystemen.


Windows subsystem Linux installeren


Windows Subsystem for Linux installeren met commandline

Tijdens de ontwikkeling varieerden de tips om WSL(2) te installeren. Nu is het duidelijk: als je een actuele Windows-versie hebt, is de commandline de handigste manier. Open Opdrachtprompt of Windows Terminal als administrator en voer het volgende commando uit:
wsl –install –distribution ubuntu

Dat commando installeert niet alleen WSL, maar ook een Ubuntu-omgeving. Windows 11 heeft de optie voor de distributie niet nodig en voegt Ubuntu auto­matisch toe.


Blijf op de hoogte en ontvang gratis meer workshops!

Schrijf je in voor de nieuwsbrief:

Ontvang elke week het laatste IT-nieuws, de handigste tips en speciale aanbiedingen.


WSLg voor grafische componenten

Bij Windows 11 haalt het commando ook de componenten op die nodig zijn om grafische Linux-­programma’s uit te voeren, door Microsoft WSLg gedoopt.

Naar alle waarschijnlijkheid zal Microsoft die functie niet aanbieden voor Windows 10. Hoewel het wel werd getest met de Insider Preview onder Windows 10, zal het voorbehouden blijven aan Windows 11.

Microsoft biedt WSL tegenwoordig ook in de ­Store – op het moment van het schrijven van dit artikel nog in de vorm van een preview. Op lange termijn moet dat de aanbevolen installatiemethode worden, aldus de ontwikkelaarsblog van Microsoft.


Windows subsystem Linux installeren

Windows 11 vindt ook de grafische Linux-toepassingen die in een WSL-omgeving zijn geïnstalleerd en voegt ze toe aan het startmenu. Microsoft gebruikt de functies van Remote Desktop om hun vensters weer te geven.


Windows Subsystem for Linux updates installeren

Het argument daarvoor is dat het makkelijker moet zijn om WSL te updaten zonder over te hoeven schakelen op een nieuwe Windows-versie. Het commando swsl –update, dat je op de commandline kunt uitvoeren, werkt alleen de kernel bij.

Om dat laatste automatisch te laten gebeuren, moet je bij de configuratie voor Windows Update ook het bijwerken van andere Microsoft-software toestaan.

In tegenstelling tot wsl –install doet de WSL-app in de Store momenteel niet alles. Het extra vereiste Windows-onderdeel, het Platform voor virtuele machine, wordt daarbij namelijk niet geïnstalleerd. Je moet dat van tevoren handmatig doen.

Dat kun je doen met:
dism.exe /online /enable-feature /feature-name:VirtualMachinePlatform /all
op een commandline met administratorrechten of via de Windows-onderdelen-lijst.

Die je kunt vinden door te zoeken op Windows-onderdelen in het start­menu (of via het oude Configuratiescherm, dat ook nog steeds in Windows 11 zit). Zoals eerder gezegd, hoef je al die stappen niet te zetten met wsl –install.

Eerste stappen na installeren

Zodra WSL geïnstalleerd is, de pc opnieuw is opgestart en een Linux-omgeving is toegevoegd, kan die worden gestart door de naam ervan in te voeren bij de zoekfunctie van het startmenu.

Als alternatief kun je dit doen door wsl aan te roepen zonder parameters, om de Linux-omgeving te starten die als ­standaard ingesteld is. Starten betekent dat Windows een opdrachtregel laat zien, oftewel de Linux-commandline.

Dat duurt een paar seconden als er eerder geen Linux-omgeving draaide. Afhankelijk van hoe je het aanroept, laat Windows die zien in een Windows-­console of in de nieuwe Windows Terminal (die laatste wordt aanbevolen omdat hij comfortabeler is).

Op de commandline kun je alle Linux-commando’s starten, zo toont ls een lijst van bestanden in de huidige directory.

Als op je pc Windows 11 draait en grafische Linux-programma’s in de omgeving geïnstalleerd zijn, kun je die gebruiken zoals normale Windows-programma’s.

Grafische Linux-programma’s op Windows bureaublad

Windows toont ze dan op het bureaublad als vensters naast de Windows-toepassingen. WSL voegt dergelijke grafische toepassingen zelfs automatisch toe aan het startmenu van Windows 11.

Als je Firefox in de Ubuntu-omgeving geïnstalleerd hebt met:
sudo apt-get update
sudo apt-get install firefox
dan zal Windows die aanbieden als Firefox (Ubuntu) bij een zoekopdracht in het startmenu.

Wanneer je de bovenstaande commando’s uitvoert, vraagt de Ubuntu-omgeving naar het wachtwoord dat je gevraagd werd bij het opzetten van WSL. WSL gebruikt de door jou opgegeven gebruikersnaam als je Linux-identiteit.

Wachtwoord voor inlog Windows Subsystem for Linux

De WSL-Linux-omgevingen behoren altijd toe aan de ingelogde Windows-gebruiker. Het account en het wachtwoord die onder Linux zijn aangemaakt, zijn verder niet gekoppeld aan het Windows-account.

In de Linux-shell kun je echter niet alleen Linux-­programma’s starten, maar ook Windows-programma’s. Het volstaat om de naam van het programmabestand in te voeren, zoals bijvoorbeeld notepad.exe of powershell.exe.

Microsoft gebruikt zelf graag als voorbeeld het starten van Visual Studio Code dat onder Windows is geïnstalleerd. Interessant genoeg kun je dat doen door code in te voeren – om dat te laten werken, slaat Microsoft een shellscript op in het zoekpad bij het installeren van de Windows-software, dat de eigenlijke Windows-binary code.exe aanroept vanuit de WSL-shell.

Andere distributies installeren

Andere distributies kunnen worden toegevoegd met wsl –install –distribution met de distributienaam aan het eind. Het commando wsl ­–install –online laat zien welke distributies Microsoft aanbiedt.

Maar niet alleen die omgevingen zijn beschikbaar. Microsoft heeft instructies gepubliceerd over hoe je een Linux-versie moet inpakken om te inte­greren met WSL.

Dat komt uiteindelijk neer op het bouwen van een tar-archief en het beschikbaar stellen van een EXE-bestand dat het verzoek uitvoert. Je kunt nog veel meer van dergelijke distributies downloaden via de link op de volgende pagina.


Ooit gedacht dat er een pinguïn in Verkenner te zien zou zijn? De bestanden van de Linux-omgevingen zijn met één klik toegankelijk. Bij WSL2 bevinden ze zich in VHDX-bestanden, oftewel virtuele schijven zoals gebruikt door Hyper-V.


Lage drempel om een Linux omgeving te installeren

Waar het op neerkomt is dat met WSL de drempel om een Linux-omgeving te installeren, weer te verwijderen (met wsl –unregister, dat alle gegevens verwijdert) en opnieuw op te zetten veel lager is.

Windows Terminal maakt dat makkelijk: het is de vervanging van de saaie consolevensters waarin Windows voorheen commandoregeltools aanbood en heeft een schaalbare, kleurrijke interface met tab­bladen.

Windows Terminal integreert de verschillende Linux-omgevingen

Bovendien integreert Windows Terminal de verschillende Linux-omgevingen al tijdens de installatie, zodat PowerShell en de klassieke Opdrachtprompt altijd slechts één muisklik verwijderd zijn.


Windows Terminal voegt veel toe aan het gebruik van WSL. De Linux-omgevingen verschijnen daarin automatisch nadat je ze hebt toegevoegd.


In de WSL-wereld is het inmiddels een drukte van belang. Op GitHub schieten projecten uit de grond: grafische programma’s voor het beheer van Linux-omgevingen, hulpmiddelen voor netwerkconfiguratie en aanvullingen voor het permanent laten werken van diensten.

Bovendien zijn er verzame­lingen van leuke WSL-onderwerpen ter oriëntatie (we hebben er daarvan een paar gezet bij de links op deze pagina). Dat alles brengt zelfs cronjobs binnen bereik, die Windows-bestanden verwerken vanuit de Linux-­omgeving.

Meer over de ontwikkelingen in WSL lees je in deze artikelen:


(Deze informatie is afkomstig uit het artikel van Peter Siering en Noud van Kruysbergen, en verscheen eerder in c’t 3, 2022, p120)


 

Ontdekkingsreis door het Windows Subsystem for Linux

Grafische Linux-applicatie onder Windows: WSLg broncode, bugreports, architectuur

Bugreport, dat zich bezig houdt met het toegankelijk maken van diensten in WSL buiten localhost

WSL-beheertool voor de Linux-omgevingen

Veel tips rondom WSL, ook voor andere, niet officiële distributies

 

Voor meer praktische instructies over Linux en Windows: c't 05/2024

Meer over

windows

Deel dit artikel

Noud van Kruysbergen
Noud van KruysbergenNoud heeft de 'American Dream' doorlopen van jongste bediende tot hoofdredacteur van c't, waar hij zo veel mogelijk de diepgang, betrouwbaarheid en diversiteit wil bewaken.

Lees ook

Windows Subsystem for Linux – een kijkje in de virtuele machine

De Linux-omgevingen in Windows Subsystem for Linux (WSL), zijn anders dan met een gewone distributie zoals die op pc of een virtuele machine. Met enke...

Arch Linux zelf installeren – bereik je doel snel en veilig

De leercurve om Arch Linux zelf te installeren is steil, je moet alle valkuilen en hindernissen via de commandline overwinnen, maar als je de nieuwe i...

1 Praat mee
avatar
  Abonneer  
nieuwsteoudste
Laat het mij weten wanneer er
Nico
Lezer
Nico

Ik probeer WSL los te installeren op een laptop met windows 10, met wsl –install of (wsl -install). Echter ik krijg de melding: Uitvoeren vanaf de server is mislukt. Ook als ik het commando wsl –unregister Legacy uitvoer, krijg ik de melding! Iemand een idee waar dit door komt? Of hoe ik dit kan analyseren waar dit aan legt. Ik heb ook Docker geïnstalleerd en een aantal maanden werkend gehad. Enkele weken geleden kreeg ik de melding “Docker engine starting…” en blijft hier ‘hangen’. Daarom dacht ik probeer wsl los te installeren. Ik heb inmiddels Docke gedeïnstalleerd maar mijn uiteindelijke… Lees verder »