Tags: Windows 10, Linux, RDP
Mit dem Preview Build 21364 von Windows 10 stellte Microsoft die Unterstützung für grafische Linux-Programme via WSL vor ("WSLg"). Wie das Subsystem 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 Bildschirmausgabe der Programme dort über einen eigens für Windows entwickelten Wayland Compositor darzustellen.
Stattdessen entschied sich der Hersteller dafür, die Wayland-Referenzimplementierung 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.
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.
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ü.
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
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
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 Betriebssysteme auf mehreren Ebenen, etwa durch das Nebeneinander der Dateisysteme oder die Möglichkeit, native Windows- und Linux-Programme nach Belieben von der Kommandozeile 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
Verwandte Beiträge
- Version 1.0 mit neuen Features: Windows Subsystem for Linux kommt künftig aus dem Store
- Erweiterten Sitzungsmodus für Ubuntu-VMs in Hyper-V aktivieren
- Windows Subsystem für Linux über die Kommandozeile (wsl.exe) installieren
- Distributionen im Subsystem für Linux (WSL) duplizieren, verschieben und exportieren
- Docker-Container im Subsystem für Linux 2 (WSL 2) ausführen
Weitere Links