Du kan nu köra Linux-appar med GUI på Windows 10 via WSL

Det är nu möjligt att köra GUI Linux-appar på Windows 10 tack vare Microsofts senaste ändringar av WSL, eller Windows Subsystem for Linux.

Windows kan vara det mest populära operativsystemet för skrivbordet, men det betyder inte att det kan göra allt. Om du vill göra något som kör en JetBrains projektorserver, till exempel, du kommer att behöva ett Unix-baserat system, som Linux. Microsoft introducerade Windows Subsystem for Linux (WSL) för ett tag sedan, vilket gav stöd för att köra Linux-appar direkt från din Windows-installation.

Men WSL hade vissa begränsningar. Version 1 använde inte ens en fullständig Linux-kärna, så många applikationer fungerade fortfarande inte. Version 2 gjorde många förbättringar, men något saknades fortfarande: stöd för GUI-applikationer.

Visst, du kan alltid sätta upp en hackig lösning där du installerar en X-server på Windows, bråkar med någon port vidarebefordra och ställa in en automatisk miljövariabel i WSL, men det är krångligt att göra, och det fungerar inte alltid mycket bra.

Ange WSLg.

WSLg: Kör Linux-appar med GUI på Windows 10

WSLg är Microsofts svar på Linux GUI-problemet, och det är ärligt talat lite konstigt. Här är ett roligt diagram över hur det fungerar, med tillstånd av Microsoft.

Det händer mycket här, men grundidén är faktiskt ganska lik den gamla manuella metoden för att sätta upp din egen X-server. Istället körs X-servern på en parallell WSL-instans som är osynlig för användaren. Windows använder sedan ett fjärrskrivbordsprotokoll för att överföra video och ljud från den osynliga instansen till Windows-sidan. Det låter förmodligen komplicerat, och det är det, men det fungerar.

Microsoft säger också att, även genom alla dessa lager, bör Linux-appar kunna dra fördel av din GPU, med saker som OpenGL-passthrough. För närvarande kräver detta beteende en speciell drivrutin från AMD, Intel eller NVIDIA, men planen är att paketera den som standard i framtiden.

Den framtiden kommer förmodligen under andra halvan av detta år, med Windows 21H2 tillsammans med en stor UI-översyn. Craig Loewen, programansvarig för Windows Developer Platform, har bekräftat på Twitter att GUI-stöd för Linux-appar kommer att komma för alla användare i nästa stora Windows-utgåva.

Funktioner

Just nu verkar WSLg faktiskt vara ganska funktionskomplett. Påståendet är att du kan ha fullt video- och ljudstöd för Linux GUI-appar, tillsammans med 3D-acceleration. Och det är ganska sömlöst. När en ny GUI-app installeras i en WSL-instans läggs den till och med till startmenyn, så att du kan starta den direkt. Apparna ska visas under en mapp med samma namn som motsvarande WSL-instans.

Buggar

Naturligtvis är detta en tidig utgåva, och det finns några buggar. Personligen, när jag installerade det på en av mina bärbara datorer, kunde jag inte ens få några appar att köra. Jag fick inte heller några startmenyposter för apparna. Teamet bakom detta är dock otroligt lyhört, och åtminstone det första problemet har redan åtgärdats för nästa utgåva.

Det finns tydligen också andra problem som involverar copy-paste och trasigt ljud. Du kan kolla in hela listan över problem på WSLg GitHub-förråd.

Komma igång

Så hur får man WSLg? För närvarande är det enklaste sättet att uppdatera till den senaste Developer Ring-versionen av Windows 10 Insider (bygg 21364 eller senare). När du har gjort det kan du helt enkelt springa wsl --uppdatering i en förhöjd kommandotolk eller PowerShell-fönster, följt av wsl --avstängning.

Sedan är det bara att öppna en WSL-instans och köra en Linux-app med ett GUI. Förutsatt att allt gick bra kommer du att se att din app ser ut nästan som en inbyggd Windows-app. Annars, kolla igenom GitHub-problemen eller skicka in ditt eget problem om det behövs.

Resurser

För mer information om hur Linux-appar med GUI körs, se till att kolla in följande resurser:

  • WSLgs GitHub Repository.
  • Windows Insider 21364-meddelande.
  • Craig Loewens detaljerade beskrivning.

Eller titta på Craig Loewens genomgång och exempelvideo: