GUI-Anwendungen ausführen im Windows Subsystem für Linux (WSL)


    Tags: , ,

    Windows Subsystem for LinuxMit dem Preview Build 21364 von Windows 10 stellte Microsoft die Unter­stützung für grafische Linux-Programme via WSL vor ("WSLg"). Wie das Sub­system insgesamt richtet sich dieses Feature primär an Entwickler und Admins, die so die Tools aus beiden Welten auf einem System unter einer Oberfläche vorfinden.

    Das Subsystem für Linux hatte anfangs lediglich das Ziel, eine Linux-Shell mitsamt den wichtigsten Kommandozeilen-Tools nativ unter Windows ausführen zu können. Mit der Version 2 machte es einen großen Sprung vorwärts, indem es einen eigenen Linux-Kernel erhielt, der in einer Utility-VM läuft. Hinzu kommt ein natives EXT4-Dateisystem.

    Im Herbst letzten Jahres gab Microsoft dann Pläne bekannt, auch die Ausführung grafischer Linux-Programme unter WSL zu erlauben. Die erste öffentlich zugängliche Version findet sich nun als frühe Preview in Build 21364 von Windows 10.

    Wayland statt X11

    Traditionell basierten grafische Unix-Programme auf X11, aber die meisten neueren Anwendungen nutzen die moderne Plattform Wayland. Sie gewährleistet die Kompatibilität mit X11 über XWayland.

    Microsoft erwog offenbar, das Wayland-Protokoll von Linux an das Host-OS umzuleiten und die Bildschirm­ausgabe der Programme dort über einen eigens für Windows entwickelten Wayland Compositor darzustellen.

    Stattdessen entschied sich der Hersteller dafür, die Wayland-Referenz­implemen­tierung Weston einzusetzen und diese in einer eigenen WSL-System-Distro laufen zu lassen. Bei dieser handelt es sich um CBL-Mariner, welche von Microsoft selbst gepflegt wird.

    Windows-Integration über RDP

    Weston verfügt über ein RDP-Backend auf Basis von FreeRDP, um Linux-Programme über Remotedesktop darzustellen. WSLg verwendet somit einen ähnlichen Mechanismus wie Hyper-V, wo die VM-Konsole via RDP auf dem Host-OS eingeblendet wird.

    Microsoft wertete Weston durch Technologien auf, die in Windows Virtual Dektop (RDP RAIL, Remote Application Integrated Locally) und Application Guard (RDP VAIL, Virtualized Application Integrated Locally) zum Einsatz kommen.

    Die Wayland-Implementierung auf Basis von Weston läuft in der Linux-VM, die Windows-Integration erfolgt über RDP.

    Sie sorgen dafür, dass grafische Linux-Programme auf dem Windows-Desktop in einem eigenen Fenster erscheinen. Außerdem unterstützt WSLg Multi-Monitor-Konfigurationen, die Ein- und Ausgabe von Audio über einen PulseAudio-Server sowie Copy & Paste zwischen Linux- und Windows-Anwendungen. Hinzu kommt ein Hardware-beschleunigtes Video auf GPUs mit Support für WDDMv3.0.

    Ein RDP-Plugin kümmert sich darüber hinaus um die Integration der Linux-Applikationen in das Startmenü von Windows 10. Dort tauchen auch Linux-Distros auf, sobald man sie unter WSL hinzugefügt hat.

    Installation von WSLg

    In der Preview bietet wsl.exe einen erweiterten Befehlssatz, zu dem auch der Parameter --update gehört. Ist das Subsystem für Linux bereits installiert, dann ruft man also einfach

    wsl.exe --shutdown

    wsl.exe --update

    auf, andernfalls

    wsl.exe --install

    Letzteres führt alle Schritte aus, die man in der Vergangenheit manuell erledigen musste, vom Aktivieren der optionalen Features bis zum Herunterladen der Distribution. Neu hinzu kommen der Download und die Installation von Unterstützung der GUI-App.

    Die Installation von WSL inklusive Unterstützung für GUI-Anwendung übernimmt jetzt vollständig wsl.exe.

    Teilt man dem Befehl für die Installation nicht über den Schalter -d mit, welche Linux-Variante man haben möchte, dann bekommt man automatisch Ubuntu. Welche Distros sonst verfügbar sind, erfährt man mittels

    wsl.exe -l -o

    Wichtig ist zudem, dass man die gewählte Distribution unter WSL 2 laufen lässt, die Version 1 unterstützt WSLg nicht. Mit dem Befehl

    wsl.exe -l -v

    zeigt man die Version aller installierten Distros an. Bei Bedarf konvertiert man sie mittels

    wsl.exe --set-version <name-der-distro> 2

    Nach dem Abschluss dieser Vorarbeiten findet sich ein Icon für die installierten Distros im Startmenü.

    Installierte Distros und ihre Anwendungen tauchen im Startmenü von Windows 10 auf.

    Wenn man diese zum ersten Mal ausführt, dann integriert sie WSL in das System. Dabei muss man ein erstes Konto samt Passwort einrichten.

    Bei meinem Test in einer virtuellen Maschine scheiterte die Registrierung mehrerer Distros mit dem Fehler "The parameter is incorrect". Das Problem ist bekannt, aktuell scheint es keine Lösung dafür zu geben. Damit man WSL2 in diesem Fall zumindest ohne GUI nutzen kann, legt man im Profil des Benutzers eine Datei mit dem Namen .wslconfig an ergänzt diese um folgenden Eintrag:

    [wsl2]
    guiapplications=false

    Anschließend startet man das Subsystem neu mit

    wsl.exe --shutdown

    Wenn WSL einen falschen Parameter moniert, kann man das Subsystem über die Konfigurationsdatei reaktivieren.

    Grafische Linux-Programme hinzufügen

    Fährt man ein Linux hoch, dann landet man nicht auf dem grafischen Desktop, wie man das von einer nativen Installation auf Bare Metal oder in einer VM gewohnt ist. Vielmehr öffnet sich wie bisher bloß eine Shell, von der aus man erst GUI-Programme installieren muss. Dazu verwendet man, wie unter Linux üblich, einen Paket-Manager. Im Fall von Ubuntu ist das apt. Zuerst aktualisiert man damit die Paket-Liste mit

    sudo apt update

    Anschließend kann man sich daran machen, die gewünschten Anwendungen zu installieren. Wenn man erst nach der passenden Software suchen möchte, dann kann man das mit

    apt search <Suchbegriff>

    tun. Zum Beispiel könnte man den populären Editor gedit so hinzufügen:

    apt install gedit

    Bei der ersten Installation eines GUI-Programms lädt apt eine große Zahl abhängiger Komponenten herunter.

    Nach der erfolgreichen Installation sollte ein Icon für das Tool im Startmenü auftauchen.

    Fazit

    Das Subsystem für Linux ist für Entwickler und DevOps eine der interessantesten Windows-Neuerungen seit Jahren. Es bietet eine enge Integration der beiden Betriebs­systeme auf mehreren Ebenen, etwa durch das Neben­einander der Dateisysteme oder die Möglichkeit, native Windows- und Linux-Programme nach Belieben von der Kommando­zeile starten zu können.

    WSLg setzt diese Entwicklung fort, indem es grafische Linux-Programme nahtlos auf dem Windows-Desktop ausführen kann. Gedacht ist dieses Feature in erster Linie für Developer-Tools und weniger, um Libre Office für Endbenutzer einzurichten.

    Die Hardware-Beschleunigung von grafischen Operationen sowie die Unterstützung für Multi-Monitor-Systeme zeigen, dass Microsofts Ansprüche bei der Integration von Linux weiter gehen als eine Behelfslösung für den gelegentlichen Einsatz zu bieten.

    Täglich Know-how für IT-Pros mit unserem Newsletter

    Wir ver­wenden Ihre Mail-Adresse nur für den Ver­sand der News­letter.
    Es erfolgt keine per­sonen­be­zogene Auswertung.

    Bild von Wolfgang Sommergut
    Wolfgang Sommergut hat lang­jährige Erfahrung als Fach­autor, Berater und Kon­ferenz­sprecher zu ver­schie­denen Themen der IT. Da­ne­ben war er als System­ad­mi­ni­stra­tor und Con­sultant tätig.
    // Kontakt: E-Mail, XING, LinkedIn //

    Verwandte Beiträge

    Weitere Links