Video: Linux på Windows får grafiske programmer

23. april 2021 kl. 10:1314
Pingviner
Illustration: MemoryCatcher / Pixabay.
Windows Subsystem for Linux giver første kig på officiel understøttelse af skrivebordsprogrammer.
Artiklen er ældre end 30 dage
Manglende links i teksten kan sandsynligvis findes i bunden af artiklen.

Nu bliver det muligt at bruge Linux-skrivebordsprogrammer på Windows 10, via Windows Subsystem for Linux, der er et skræddersyet virtualiseringslag for Linux på Windows.

Det meddelte Microsoft allerede sidste år, og nu er første 'preview' kommet på gaden. Det skriver udvikleren Craig Loewen på Microsofts udviklerblog.

Indtil nu har det kun været muligt at bruge kommandolinje-programmer i miljøet. Microsoft har tidligere tilføjet en fuld Linux-kerne til Windows 10 med WSL version 2, og den logiske konklusion er understøttelse af skrivebordsprogrammer.

Med hacks og knofedt har det tidligere i et begrænset omfang været muligt af benytte skrivebordsprogrammer med WSL, men nu kommer det altså indbygget i miljøet.

Artiklen fortsætter efter annoncen

Videoen herunder viser mulighederne. Microsoft har ikke sat en dato på, hvornår den grafiske udgave bliver standard, men previewet kan anvendes med Windows 10 Insiders preview build 21364.

Remote video URL

14 kommentarer.  Hop til debatten
Denne artikel er gratis...

...men det er dyrt at lave god journalistik. Derfor beder vi dig overveje at tegne abonnement på Version2.

Digitaliseringen buldrer derudaf, og it-folkene tegner fremtidens Danmark. Derfor er det vigtigere end nogensinde med et kvalificeret bud på, hvordan it bedst kan være med til at udvikle det danske samfund og erhvervsliv.

Og der har aldrig været mere akut brug for en kritisk vagthund, der råber op, når der tages forkerte it-beslutninger.

Den rolle har Version2 indtaget siden 2006 - og det bliver vi ved med.

Debatten
Log ind eller opret en bruger for at deltage i debatten.
settingsDebatindstillinger
13
6. maj 2021 kl. 19:19

Ja, Windows NT kærnen har haft "Overlapped IO" (IO completion ports) helt tilbage fra midt 199x'erne.

Det er ikke det samme – Overlapped IO er "bare" async, og er (så vidt jeg husker, it's been a while) supported af Win9x.

NT kernen har så IO Completion Port support for effektivt at kunne deale med et vognlæs af handles (filer såvel som sockets), hvorimod 9x er begrænset til at bruge EVENTs og WaitForMultipleObjects. Så vidt jeg husker er grænsen for antal events per WFMO kald 64, og derudover er der ret dyr blocking involveret i WFMO.

12
1. maj 2021 kl. 14:06

Hvis man blot har skrevet en smule kode mod Win32 API'et så ved man godt at det ikke er muligt. Det er to forskellige verdener. Det er et mirakel at WSL1 kunne fungere men det var på ingen måde perfekt.

WSL1 var ikke emulering af Linux over Win32 ("userspace" i Windows). WSL1 var en "alternativ kærne" som udnyttede at NT arkitekturen oprindeligt var lavet til at understøtte flere operativsystemkærner (dengang OS/2), kaldet et "subsystem". WSL1 var "subsystem for linux" på samme måde som OS/2 oprindeligt var et subsystem. Det betød bl.a. at WSL1 tråde ikke var Windows tråde men særlige kærne tråde.

Fx. mangler Linux kernen IO Completion Ports som bruges meget i Win32 kode.

Ja, Windows NT kærnen har haft "Overlapped IO" (IO completion ports) helt tilbage fra midt 199x'erne.

10
28. april 2021 kl. 12:56

Ubuntu er på vej til helhjertet at gå over til Wayland, så hvilken hest har MS tænkt sig at spille på?

Det kloge svar er nok begge. X11 forsvinder ikke og som jeg husker det så ligger der nu noget infrastruktur til skærmhåndtering i Linux kernen som både bruges af X11 og Wayland. Det synes det rigtige sted at integrere hvis man kan få det til at passe ind i Windows. Den nemmeste løsning vil selvfølgeligt være blot at bundle en X11 server sammen med WSL ... det kan et par studerende få til at se fint ud på kort tid. Alas, den nemme løsning er ikke altid den bedste.

8
28. april 2021 kl. 09:44

Jeg forstår ikke kommentaren om at det skulle kræve "hacks og knofedt" og kun ville give skrivebordsprogrammer "i et begrænset omfang".

Jeg går ud fra at man med skrivebordsprogrammer mener grafiske applikationer hvilket i Linux sammehæng betyder at man skal have en X11 service.

VNC løsningen er som nævnt en mulighed, men der findes også adskllige implementationer af X11 til windows, feks MobaXterm, Xming og VcXsrv. Jeg har selv brugt MobaXterm og synes det fungerer fint og der er ingen problemer i at installere den, det er ihvertfald ligeså nemt som at aktivere WSL.

Har man en X11 server, så der er der ikke nogen reelle begrænsninger på de normale skrivebordsprogrammer.

7
25. april 2021 kl. 23:35

ja du har ganske ret i Unix ikke er modernet, men nu var det jo Linux der blev snakket, som helt klart er mere moderne en Unix, og på nogen punkter er Linux endda foran windows, og på andre punkter ikke, det er lidt et religions spørgsmål.

6
24. april 2021 kl. 09:37

Uha..Uha.. Jeg kan ikke forstå hvorfor at nogen ser Linux (kerne) som en fordel på desktop. Jeg ser NT som værende 5-15 år mere moderne end UNIX.

Jeg tror man skal være forsigtig med den slags vurderinger. OS kerner er komplekse ting og udmærker sig på forskellig vis. Fx. har Jails og cgroups givet os en helt anden model for software deployment og execution end vi var vant til. Windows er på det punkt stadigvæk ikke med.

5
24. april 2021 kl. 01:40

Dette er givet vis bare et af de step som Microsoft efter sigende er igang med, udskiftning af NT Kernel med en Linux Kernel.

Uha..Uha.. Jeg kan ikke forstå hvorfor at nogen ser Linux (kerne) som en fordel på desktop. Jeg ser NT som værende 5-15 år mere moderne end UNIX.

Jeg har meget sympati for open source men.. Jeg ser nogle af de klassiske UNIX dyder som noget af et anti pattern.

UNIX/BSD/Linux security model er fra 70'erne Windows NT er videre udviklet fra VMS som er lidt mere morderne. BSD/Linux er fint til simple ting som servere, men ikke god til desktop.

F.eks bruger Unix id'er er heltal startende 0 Root, det betyder at der er kollisioner mellem brugere på tværs af maskiner. Windows bruger random GUID's som bruger ID'er, hvilket betyder der ikke er ID kollisioner. (Medmindre der er klonet et OS image)

4
23. april 2021 kl. 17:28

Dette er givet vis bare et af de step som Microsoft efter sigende er igang med, udskiftning af NT Kernel med en Linux Kernel.

Hvis man blot har skrevet en smule kode mod Win32 API'et så ved man godt at det ikke er muligt. Det er to forskellige verdener. Det er et mirakel at WSL1 kunne fungere men det var på ingen måde perfekt. Derfor WSL2. At forestille sig at man kunne gå den modsatte vej og så få fornuftig performance giver ingen mening. Fx. mangler Linux kernen IO Completion Ports som bruges meget i Win32 kode.

2
23. april 2021 kl. 14:56

Dette er givet vis bare et af de step som Microsoft efter sigende er igang med, udskiftning af NT Kernel med en Linux Kernel.

1
23. april 2021 kl. 11:21

Det har også været muligt at gøre før, i Kali så har der været win-KeX programmet https://www.kali.org/docs/wsl/win-kex/ som åbner en VNC Server i linux og åbner VNC forbindelsen i windows, men fedt at der kommer ordentligt support til det snart!