Du kan nu køre Linux-apps med GUI'er på Windows 10 via WSL

Det er nu muligt at køre GUI Linux-apps på Windows 10 takket være Microsofts seneste ændringer til WSL eller Windows Subsystem til Linux.

Windows er måske det mest populære desktop-operativsystem, men det betyder ikke, at det kan alt. Hvis du vil lave noget som f.eks køre en JetBrains Projector-server, for eksempel, du får brug for et Unix-baseret system, som Linux. Microsoft introducerede Windows Subsystem til Linux (WSL) for et stykke tid tilbage, hvilket gav support til at køre Linux-apps direkte fra din Windows-installation.

Men WSL havde nogle begrænsninger. Version 1 brugte ikke engang en fuld Linux-kerne, så mange applikationer virkede stadig ikke. Version 2 gjorde en masse forbedringer, men der manglede stadig noget: GUI-applikationsunderstøttelse.

Selvfølgelig kan du altid oprette en hacky løsning, hvor du installerer en X-server på Windows, roder med en eller anden port videresende og opsætte en automatisk miljøvariabel i WSL, men det er besværligt at gøre, og det virker ikke altid meget godt.

Indtast WSLg.

WSLg: Kør Linux-apps med GUI'er på Windows 10

WSLg er Microsofts svar på Linux GUI-problemet, og det er ærlig talt noget mærkeligt. Her er et sjovt diagram over, hvordan det fungerer, med tilladelse fra Microsoft.

Der sker en masse her, men den grundlæggende idé er faktisk ret lig den gamle manuelle metode til at opsætte din egen X-server. I stedet kører X-serveren dog på en parallel WSL-instans, der er usynlig for brugeren. Windows bruger derefter en ekstern skrivebordsprotokol til at overføre video og lyd fra den usynlige instans til Windows-siden. Det lyder nok kompliceret, og det er det, men det virker.

Microsoft siger også, at selv gennem alle disse lag burde Linux-apps kunne drage fordel af din GPU med ting som OpenGL-passthrough. I øjeblikket kræver denne adfærd en speciel driver fra AMD, Intel eller NVIDIA, men planen er at samle den som standard i fremtiden.

Den fremtid kommer sandsynligvis i anden halvdel af dette år, med Windows 21H2 sideløbende med en stor UI-eftersyn. Craig Loewen, Program Manager for Windows Developer Platform, har bekræftet på Twitter, at GUI-understøttelse af Linux-apps vil ankomme til alle brugere i den næste store Windows-udgivelse.

Funktioner

Lige nu ser WSLg faktisk ud til at være ret komplet. Påstanden er, at du kan have fuld video- og lydunderstøttelse til Linux GUI-apps sammen med 3D-acceleration. Og det er ret sømløst. Når en ny GUI-app er installeret i en WSL-instans, bliver den endda tilføjet til startmenuen, så du kan starte den direkte. Apps skal vises under en mappe med samme navn som den tilsvarende WSL-instans.

Bugs

Selvfølgelig er dette en tidlig udgivelse, og der er nogle fejl. Personligt, da jeg satte det op på en af ​​mine bærbare computere, kunne jeg ikke engang få nogen apps til at køre. Jeg fik heller ikke nogen startmenuposter til apps. Holdet bag dette er dog utroligt lydhørt, og i det mindste er det første problem allerede blevet rettet til den næste udgivelse.

Der er tilsyneladende også andre problemer, der involverer copy-paste og ødelagt lyd. Du kan se den fulde liste over problemer på WSLg GitHub repository.

Kom godt i gang

Så hvordan får man WSLg? I øjeblikket er den nemmeste måde at opdatere til den seneste Developer Ring-version af Windows 10 Insider (build 21364 eller nyere). Når du har gjort det, kan du bare løbe wsl --opdatering i en forhøjet kommandoprompt eller PowerShell-vindue, efterfulgt af wsl --lukning.

Så skal du bare åbne en WSL-instans og køre en Linux-app med en GUI. Forudsat at alt gik godt, vil du se din app fremstå næsten som en indbygget Windows-app. Ellers skal du tjekke GitHub-problemerne igennem, eller indsend dit eget problem, hvis det er nødvendigt.

Ressourcer

For mere information om, hvordan Linux-apps med GUI'er kører, skal du sørge for at tjekke følgende ressourcer:

  • WSLg's GitHub Repository.
  • Windows Insider 21364-meddelelse.
  • Craig Loewens detaljerede oplæg.

Eller se Craig Loewens gennemgang og eksempelvideo: