Hoe grafische Linux Desktop-applicaties draaien vanuit de Bash Shell van Windows 10
De Bash-shell van Windows 10 ondersteunt officieel geen grafische Linux-desktopapps. Microsoft zegt dat deze functie alleen is ontworpen voor ontwikkelaars die Linux-terminalhulpprogramma's willen uitvoeren. Maar het onderliggende "Windows Subsysteem voor Linux" is krachtiger dan Microsoft het toelaat.
Het is mogelijk om grafische Linux-applicaties uit te voeren in Windows 10, maar houd er rekening mee dat dit niet officieel wordt ondersteund. Niet elk stuk Linux-software werkt, en grafische applicaties zijn nog complexer en minder getest. Maar deze zouden in de loop van de tijd stabieler moeten worden naarmate Microsoft het onderliggende Windows-subsysteem voor Linux verbetert.
De Bash-shell van Windows 10 ondersteunt alleen 64-bits binaire bestanden, dus u kunt geen 32-bits Linux-software installeren en uitvoeren.
Hoe dit werkt
Laten we eerst eens kijken hoe dit precies werkt, zodat je enig begrip hebt van wat we hier doen.
Windows 10 bevat een onderliggend "Windows-subsysteem voor Linux" waarmee Windows 10 Linux-software kan uitvoeren door Linux-systeemaanroepen te vertalen naar Windows-systeemaanroepen.
Wanneer u een Linux-distributie zoals Ubuntu uitvoert, downloadt en installeert het een compleet Ubuntu-gebruikersruimtebeeld op uw computer. Dit omvat exact dezelfde binaire bestanden - of toepassingen - die zouden worden uitgevoerd op Ubuntu. Die "Bash on Ubuntu op Windows" -omgeving werkt dankzij het onderliggende Windows-subsysteem voor Linux.
Microsoft wil geen tijd besteden aan het werken aan grafische software, omdat deze functie is bedoeld voor hulpprogramma's voor opdrachtregelprogramma's. Maar de belangrijkste technische reden dat grafische toepassingen niet worden ondersteund, is dat ze een "X-server" nodig hebben om die grafische interface te bieden. Op een typische Linux-desktop verschijnt die "X-server" automatisch wanneer je je computer opstart en het maakt het hele bureaublad en de applicaties die je gebruikt.
Maar probeer een grafische applicatie van Bash op Windows te openen, en het zal klagen dat het geen display kan openen.
Er zijn echter X-servertoepassingen die u op een Windows-bureaublad kunt installeren. Meestal worden deze gebruikt om Linux-applicaties op andere computers te laten draaien - het "X11" -protocol is vrij oud en is ontworpen met de mogelijkheid om via een netwerkverbinding te werken.
Als u een X-servertoepassing op uw Windows-bureaublad installeert en een instelling in de Bash-shell wijzigt, verzenden toepassingen hun grafische uitvoer naar de X-servertoepassing en verschijnen deze op uw Windows-bureaublad. Alles zou goed moeten werken, ervan uitgaande dat die applicaties niet afhankelijk zijn van Linux-systeemaanroepen die het Windows-subsysteem voor Linux nog niet ondersteunt.
Stap één: installeer een X-server
Er zijn verschillende X-servers die u zou kunnen installeren op Windows, maar we raden Xming aan. Download het en installeer het op uw Windows 10 pc.
Het installatieproces is eenvoudig: u kunt alleen de standaardinstellingen accepteren. Het wordt dan automatisch gestart en uitgevoerd in uw systeemvak, in afwachting van grafische programma's.
Stap twee: installeer het programma
Je kunt grafische Linux-desktopprogramma's installeren zoals elk ander programma, met behulp van het apt-get-commando in de Ubuntu-gebaseerde Bash-omgeving. Stel dat u bijvoorbeeld de grafische, op GTK gebaseerde vim-editor wilt installeren. U voert de volgende opdracht uit in het Bash-venster:
sudo apt-get install vim-gtk
Het doorloopt het installatieproces in het opdrachtregelvenster, net als op Ubuntu.
Stap drie: stel uw display-omgevingsvariabele in
Nu moet u de omgevingsvariabele "DISPLAY" zo instellen dat deze naar de X-server wijst die op uw Windows 10-pc wordt uitgevoerd. Als u dit niet doet, kunnen grafische toepassingen eenvoudigweg niet worden gestart.
Hiertoe voert u de volgende opdracht uit in de Bash-omgeving:
exporteren DISPLAY =: 0
Deze instelling is alleen van toepassing op uw huidige Bash-sessie. Als je het venster sluit, zal Bash het vergeten. U moet deze opdracht telkens uitvoeren als u Bash opnieuw opent en een grafische toepassing wilt uitvoeren.
Stap vier: start een applicatie
U kunt nu een grafische toepassing starten door de naam van het uitvoerbare bestand in te typen, alsof u een andere opdracht typt. Als u bijvoorbeeld vim-gtk wilt starten, voert u het volgende uit:
gvim
Het is zo simpel. Als het programma crasht na het opstarten, wordt het mogelijk dat het Linux-systeem het programma niet ondersteunt door het Windows-subsysteem voor Linux. Je kunt hier niet veel aan doen. Maar probeer het eens, en misschien merkt u dat de apps die u nodig hebt behoorlijk goed werken!
Je kunt ook de derde en vierde stap combineren, als je wilt. In plaats van de DISPLAY-variabele één keer te exporteren voor een volledige Bash-shellsessie, voert u gewoon een grafische toepassing uit met de volgende opdracht:
DISPLAY =: 0 command
Als u bijvoorbeeld gvim wilt starten, voert u het volgende uit:
DISPLAY =: 0 gvim
Vergeet niet dat dit niet officieel wordt ondersteund, dus u kunt fouten tegenkomen bij complexere applicaties. Een virtuele machine is een betrouwbaardere oplossing voor het uitvoeren van veel grafische Linux-desktoptoepassingen op Windows 10, maar dit is een nette oplossing voor enkele van de eenvoudigere dingen.