Sådan kører du grafiske Linux Desktop applikationer fra Windows 10s Bash Shell
Windows 10s Bash shell understøtter ikke officielt grafiske Linux desktop applikationer. Microsoft siger, at denne funktion kun er udviklet til udviklere, der ønsker at køre Linux-terminalværktøjer. Men det underliggende "Windows Subsystem for Linux" er mere kraftfuldt end Microsoft lader på.
Det er muligt at køre grafiske Linux-applikationer i Windows 10, men husk på, at det ikke er officielt understøttet. Ikke alle Linux-programmer fungerer, og grafiske applikationer er endnu mere komplekse og mindre testede. Men disse bør blive mere stabile over tid, da Microsoft forbedrer det underliggende Windows-subsystem til Linux.
Windows 10s Bash shell understøtter kun 64-bit binarier, så du kan ikke installere og køre 32-bit Linux-software.
Sådan virker dette
Lad os først køre nøjagtigt, hvordan det virker, så du kan få en vis forståelse for, hvad vi laver her.
Windows 10 indeholder et underliggende "Windows-subsystem til Linux", der gør det muligt for Windows 10 at køre Linux-software ved at oversætte Linux-systemopkald til Windows-systemopkald.
Når du kører en Linux-distribution som Ubuntu, downloader og installerer du et komplet Ubuntu brugerrumsbillede på din computer. Dette omfatter de nøjagtige samme binære filer eller programmer, der ville køre på Ubuntu. At "Bash on Ubuntu on Windows" miljø fungerer takket være det underliggende Windows-subsystem til Linux.
Microsoft vil ikke bruge nogen tid på at arbejde med grafisk software, da denne funktion er beregnet til kommandolinjeudviklerværktøjer. Men den vigtigste tekniske årsag til, at grafiske applikationer ikke understøttes, er, at de kræver en "X-server" for at tilvejebringe den grafiske grænseflade. På et typisk Linux-skrivebord vises den "X-server" automatisk, når du starter din computer, og det gør hele skrivebordet og de programmer, du bruger.
Men prøv at åbne en grafisk applikation fra Bash on Windows, og det vil klage over, at det ikke kan åbne en skærm.
Der er dog X-serverprogrammer, som du kan installere på et Windows-skrivebord, dog. Typisk bruges disse til at gøre Linux-programmer kørende på andre computere. Protokollen "X11" er ret gammel og designet med evnen til at køre over en netværksforbindelse.
Hvis du installerer et X-serverprogram på dit Windows-skrivebord og ændrer en indstilling i Bash-skalen, sender programmer deres grafiske output til X-serverprogrammet, og de vises på dit Windows-skrivebord. Alt skal fungere fint, forudsat at disse applikationer ikke afhænger af Linux-systemopkald, at Windows-subsystemet til Linux endnu ikke understøtter.
Trin 1: Installer en X-server
Der er flere forskellige X-servere, du kan installere på Windows, men vi anbefaler Xming. Hent det og installer det på din Windows 10-pc.
Installationsprocessen er enkel: Du kan bare acceptere standardindstillingerne. Den starter automatisk og kører i systembakken, og venter på, at du kører grafiske programmer.
Trin to: Installer programmet
Du kan installere grafiske Linux desktop-programmer som du kan andre programmer, ved hjælp af apt-get-kommandoen i det Ubuntu-baserede Bash-miljø. Lad os f.eks. Sige, at du vil installere den grafiske, GTK-baserede vim-editor. Du vil køre følgende kommando i Bash-vinduet:
sudo apt-get install vim-gtk
Det vil gå gennem installationsprocessen i kommandolinjevinduet, ligesom det gør på Ubuntu.
Trin tre: Indstil din skærmmiljø variabel
Nu skal du indstille miljøvariablen "DISPLAY" til at pege på X-serveren, der kører på din Windows 10-pc. Hvis du ikke gør det, vil grafiske applikationer simpelthen ikke blive lanceret.
For at gøre dette skal du køre følgende kommando i Bash-miljøet:
eksport DISPLAY =: 0
Denne indstilling gælder kun for din nuværende Bash-session. Hvis du lukker vinduet, vil Bash glemme det. Du bliver nødt til at køre denne kommando hver gang du genåbner Bash og vil køre en grafisk applikation.
Trin fire: Start et program
Du kan nu bare starte en grafisk applikation ved at skrive navnet på dens eksekverbare, ligesom du ville skrive en hvilken som helst anden kommando. Hvis du for eksempel vil starte vim-gtk, kører du:
gvim
Det er så simpelt. Hvis applikationen går i stykker efter lanceringen, kan de Linux-systemopkald, der kræves muligvis ikke understøttes af Windows-subsystemet til Linux. Der er ikke meget du kan gøre ved dette. Men giv det et skud, og du kan finde ud af, at de apps, du har brug for, virker ordentligt godt!
Du kan også kombinere det tredje og fjerde trin, hvis du vil. I stedet for at eksportere DISPLAY-variablen en gang til en hel Bash shell-session, ville du bare køre en grafisk applikation med følgende kommando:
DISPLAY =: 0 kommando
For eksempel, for at starte gvim, ville du køre:
DISPLAY =: 0 gvim
Husk, dette understøttes ikke officielt, så du kan komme ind i fejl med mere komplekse applikationer. En virtuel maskine er en mere pålidelig løsning til at køre mange grafiske Linux desktop applikationer på Windows 10, men dette er en pæn løsning til nogle af de enklere ting.