Windows-Subsystem für Linux (WSL): So nutzen Sie geniale Linux-Shell noch besser

Das Windows-Subsystem für Linux (WSL) war primär für Anwender gedacht, die Linux-Serverdienste unter Windows nutzen wollen, etwa einen Apache-Webserver.

Praktisch ist ferner der native SSH-Client (oder auch Server), der dann – im Unterschied zu Windows – auch die Alltagswerkzeuge wie Rsync oder Midnight Commander mitbringt. Das macht den Datenaustausch zwischen Windows und Linux-Servern ebenso einfach wie zwischen Linux-Rechnern.

Die Verzahnung zwischen dem Windows-Host und dem Linux-Subsystem ist generell enger als bei einer Virtualisierung und erlaubt produktive Interaktion.

Zwei Entwicklungen geben WSL zusätzlichen Schub: Version WSL2 liefert einen X-Server mit, der auch grafische Linux-Software unter Windows erlaubt. Das ist in etwa vergleichbar mit grafischem X11-Forwarding via SSH, hier aber ohne die lästige Pflicht, unter Windows eine Extrasoftware zu laden (Xming).

Ein zusätzliches Motiv für WSL ist die weitaus größere Menge an KI-Tools für Linux. Je nachdem, ob textbasierte KI wie Shell-Genie oder Shell-GPT ausreichen, ist WSL1 ausreichend oder WSL2 für grafische Werkzeuge wie GPT4all erforderlich.

Windows 10 & 11: Weitere Versteckte Features freischalten

Die Einrichtung

WSL ist eine optionale Komponente, die unter Windows erst nachinstalliert werden muss. Sowohl dafür als auch für die nachfolgende Installation der eigentlichen Linux-Distribution gibt es unterschiedliche Wege.

Der Klarheit halber bleiben wir hier beim Einsatz der Windows-Powershell, mit der sich beide Aktionen erledigen lassen. Diese Shell starten Sie entweder im Windows-Menü oder über das Terminal, in jedem Fall aber nach Rechtsklick mit der Option „Als Administrator ausführen“.

Nach der Einrichtung des Windows-Subsystems kann das Verwaltungstool wsl ein Linux installieren. Der List-Befehl informiert über die aktuelle Auswahl.

IDG

Zur Einrichtung des Subsystems sind zunächst zwei Befehle erforderlich:

Nach dem verlangten Windows-Neustart ist das Subsystem einsatzbereit und damit auch das zentrale Verwaltungstool wsl.exe, was ein Befehl wie

in der Powershell (oder jeder anderen Windows-Shell) nachweisen sollte. Zur Installation einer Linux-Distribution verwenden Sie jetzt dieses Werkzeug – wieder in einer Powershell im Administratormodus (hier geht im Prinzip auch jede andere Windows-Shell wie Cmd.exe):

nennt alle verfügbaren Distributionen. Wer keinen triftigen Grund hat, ein Debian-, Suse- oder Oracle-System zu nehmen, wählt mit Ubuntu 22.04 (noch aktuell, demnächst wohl 24.04) aufgrund seiner Ausstattung den unkompliziertesten Standard:

Die beiden Befehle sind gleichbedeutend, weil das erste Kommando (ohne Angabe) einfach den Standard installiert. Der zweite Befehl soll nur zeigen, wie Sie gezielt eine bestimmte Distribution auswählen können.

Nach der Installation werden Sie am Prompt des Linux-Systems nach einem Konto und dem Kontopasswort gefragt. Danach ist die übliche Aktualisierung mit (hier für Debian/Ubuntu)

zu absolvieren. Auch ein

für deutsche Lokalisierung (de_DE.utf8) ist in der Regel erwünscht.

Das Linux-System beenden Sie jederzeit mit „exit“ oder Schließen des Fensters oder auch des Registers im Windows-Terminal, falls es dort gestartet wurde. Das Windows-Terminal (Standard unter Windows 11, optional für Version 10) ist der beste Platz, um Linux-Systeme zu starten und zu beenden. Installierte Linux-Distributionen werden dort in der Drop-down-Liste neben Powershell, Eingabeaufforderung, Azure-Shell automatisch angeboten.

Aber es steht Ihnen frei, das Linux über das Windows-Startmenü oder durch Eingabe

in jeder beliebigen Windows-Shell zu laden. Beachten Sie auch die Option, in einer Windows-Shell wie der Powershell mit

ein Programm des Linux-Systems direkt zu starten.

Lesetipp: Was bringt das Jahr 2024 für Linux?

Bash-Tools und Serverdienste

In der Linux-Distribution sind alle typischen Werkzeuge vorinstalliert. Über die Standard-Paketquellen (apt install […] unter Ubuntu) können Sie weitere Werkzeuge nachrüsten. Jedes Linux bringt einen SSH-Client mit, der SSH-Terminals wie Putty überflüssig macht.

Mit dem angesprochenen Midnight Commander stellen Sie darüber hinaus problemlos (SSH-) „Shell-Verbindungen“ her, die den direkten Datenaustausch zwischen einem Linux-Server und dem Windows-System ermöglicht. Das Windows-Dateisystem ist unter „/mnt/c“ unter Linux eingehängt, eventuelle weitere Datenträger als „/mnt/d“ et cetera.

Alle Shell-Werkzeuge arbeiten natürlich auch in den Ordnern des Windows-Systems. Wer find, ls und grep den Befehlen der Windows-Shells vorzieht, hat damit vollen Zugriff auf die Windows-Daten. Umgekehrt können Sie grafische Windows-Programme zur Verwaltung des Linux-Systems heranziehen:

Windows-Programme müssen in der Linux-Shell immer mit der Extension „.exe“ angegeben werden.

Alle Linux-Serverdienste sind möglich, müssen aber nachinstalliert werden. Wenn Sie einen Apache-Server einrichten und darunter eine Webanwendung oder statische HTML-Seiten unter „/var/www/html“ bereitstellen, dann ist dieser Serverdienst unter der IP-Adresse des Windows-Rechners jederzeit abrufbar. Das Linux-Subsystem startet solche Dienste allerdings nicht automatisch. Der gewünschte Service muss daher mit

manuell gestartet werden. Er läuft dann aber bis zum Windows-Shutdown weiter, auch wenn die Linux-Shell beendet wird.

WSL2 und grafische Programme

Alle bisher angesprochenen Leistungen funktionieren in jedem Fall. Nur für den Einsatz grafischer Linux-Software ist jüngeres WSL2 erforderlich. Damit ist etwa die Installation eines Linux-Browsers mit

und der Start des Browsers mit

aus der Linux-Shell oder aus dem Windows-Startmenü möglich (siehe Aufmacherbild). Unter Ubuntu ist Chrome Firefox eindeutig vorzuziehen, weil Firefox hier als Snap installiert wird und gravierende Anpassungsdefizite besitzt.

Wenn die Abfrage unter Windows mit „wsl -version“ eine WSL-Version 2.x anzeigt, ist aber keineswegs gewiss, dass der Grafikstack (wslg) tatsächlich funktioniert.

Ein moderner Rechner mit Windows 11, Intel-CPU, aktivierter Virtualisierungsfunktion im Bios (siehe msinfo32), durchschnittlichem Grafikchip und mindestens 8 GB RAM wird keine Probleme haben. Mit älterer Hardware und vielleicht schon länger installiertem WSL gibt es aber diverse Hürden. Folgende Tipps können organisatorische Fehler beheben.

in einer Windows-Shell aktualisiert ein eventuell veraltetes Subsystem, und der Befehl

setzt Version 2 als Standard (Version 1 ist immer auch an Bord). Ferner kann es sein, dass Version 2 zwar vorliegt, aber ein früher installiertes Linux noch mit Version 1 läuft und auf Version 2 umgestellt werden muss:

Dies sind einfache Organisationstipps, aber kein Hardware-Troubleshooting. Wenn die Probleme tiefer liegen, helfen am ehesten Microsoft-Hinweise, weil die Abhilfe an der Hardware und im WSL-Subsystem erfolgen muss. Maßnahmen im Linux-System sind kaum zielführend.