Da Microsoft først introducerede sin WSL for knap 4 år siden, var mange brugere glade for nyheden. At have Linux-terminalen på Windows giver os blandt andet mulighed for at bruge mange værktøjer. Men denne form for "virtuel maskine" har et lille problem: faktisk, og forklarer det hurtigt og dårligt, er det ikke forbundet til nogen outputenhed, så vi kan ikke køre GUI-applikationer. Eller ikke officielt, fordi VcXsrv hvis han vil tillade os.
VcXsrv er en xorg-baserede Windows X-server. Denne lille applikation giver os mulighed for at simulere, at vi har en skærm tilsluttet vores WSL, som vi kan køre applikationer med en brugergrænseflade. Fordi installation allerede var mulig, men det viste en fejl, da vi forsøgte at starte dem. I denne artikel viser vi dig de trin, du skal følge, hvis du f.eks. Vil installere Gedit på Windows 10.
Sådan køres Linux-apps med GUI på Windows 10 takket være VcXsrv
- Den første ting, vi skal gøre, er at installere WSL. I denne artikel fra sidste september har du forklaret alt hvad du behøver for at gøre det. VIGTIGT: I skrivende stund er der ingen grund til at opgradere til WSL 2; Der er nogle fejl, der blokerer Linux-apps med GUI i at køre på Windows 10. De vil sandsynligvis blive rettet i fremtiden, men det er ikke muligt nu.
- Dernæst installerer vi VcXsrv, tilgængelig på dette link.
- Under installationen vil vi lade alt være som standard. I slutningen af installationen kører VcXsrv i baggrunden, og vi kan få adgang til dens indstillinger fra systembakken.
- Hvis det viser os firewalladvarslen, tillader vi "VcXsrv windows xserver" adgang.
- Det næste trin er at køre testene. I teorien kan vi installere en hvilken som helst app, og kommandoen afhænger af den Linux-distribution, vi har installeret. I Ubuntu og derivater er kommandoen den sædvanlige (sudo apt install APP). Vi husker, at installation af apps i WSL er en lang proces, så du bliver nødt til at være tålmodig.
- Når vi har installeret appen, udfører vi følgende kommando:
export DISPLAY=:0
- Når kommandoen er udført, skal vi starte applikationen. For at gøre dette skal vi skrive dit navn i terminalen. I tilfælde af "Gedit" skal vi skrive "gedit".
Hvis vi vil køre flere Linux-apps på samme tid, skal vi starte dem fra windows terminal. Husk at for at gøre dette skal vi inden en kommando indtaste "wsl" uden citaterne. Vi bliver nødt til at bruge kommandoen fra trin 6, før vi starter hver applikation.
Fejlfinding
Der er normalt ikke mange problemer, men det mest almindelige er, at vi bruger WSL 2, som vi allerede har forklaret, der i øjeblikket har nogle fejl. Hvad vi skal gøre er nedgradering (nedgradering). Vi gør det som følger:
- Vi åbner Windows PowerShell og skriver følgende kommando for at vise os, hvilken version af WSL vi bruger:
wsl -l -v
- Hvis det kun viser os hjælpemulighederne, antages det, at vi er i WSL 1. Hvis oplysninger om versionen vises, og under "VERSION" viser den "2", er vi nødt til at gå ned ved at indtaste følgende kommando:
wsl --set-version Ubuntu 1
- Det næste trin er tålmodighed. Afhængigt af det udstyr, vi bruger, kan det tage 20 til 30 minutter (eller mere) at nedgradere. Når processen er afsluttet, skal Linux GUI-applikationerne køre problemfrit.
Vær forsigtig, der kan være problemer med multimedie-apps
Hvad der forklares i denne artikel er til billedet. Dette betyder, at vi kan køre applikationer som Gedit uden problemer, men det er ikke en god ide at installere applikationer som Rythmbox, fordi lyden bliver ikke som forventet. Bortset fra det fungerer apps ganske godt, som om de var hjemmehørende. Ved ikke at være afhængig af et helt grafisk miljø fungerer den "virtuelle maskine" meget mere flydende end andre, som enhver, som vi installerer i Virtualbox eller i Microsofts egen Hyper-V.
Det er ikke udelukket, at ting i fremtiden også vil blive bedre med hensyn til lyd. Under alle omstændigheder vil det, der er forklaret i denne artikel, tjene alle dem, der ønsker at bruge nogle Linux-værktøjer i Windows, som ellers ikke ville være mulige. Hvilken Linux-eksklusiv app vil du kunne køre på Windows 10?
Bidrag til at udføre dem fra WSL 2 uden at skulle nedgradere til WSL 1:
https://github.com/microsoft/WSL/issues/4106
Med venlig hilsen,