Suchen

Das Windows-Subsystem for Linux, Teil 2 Effizientes Arbeiten mit WSL

| Autor / Redakteur: Christian Rentrop / Stephan Augsten

Das Linux-Subsystem in Windows 10 eignet sich hervorragend für die Entwicklung und das Testing von Software. Damit es möglichst effizient arbeitet, sind allerdings noch einige Handgriffe notwendig. Außerdem ist das Subsystem nicht für jeden geeignet.

Firma zum Thema

Aufruf des Windows-eigenen „ipconfig“ im Linux-Subsystem.
Aufruf des Windows-eigenen „ipconfig“ im Linux-Subsystem.
(Bild: Rentrop / Microsoft)

Mit WSL können Entwickler jederzeit Linux nutzen, ohne sich mit den Widrigkeiten von virtuellen Maschinen, Parallel-Boots oder separaten Linux-Rechnern auseinandersetzen zu müssen. Die Installation ist via Microsoft-Store ein Kinderspiel. Doch das Windows-Subsystem ist ab Werk nicht immer optimal eingestellt.

Beispielsweise besitzt Windows 10 mit dem Windows Defender einen Echtzeit-Virenscanner, der das Linux-Untersystem massiv verlangsamt. Wer einen anderen Virenscanner nutzt, nur mit einem Standard-Benutzerkonto arbeitet und/oder genau um die Konsequenzen weiß, könnte den Echtzeitschutz dauerhaft abstellen.

Achtung: Zwar lässt sich das WSL auf diesem Weg deutlich beschleunigen. Nichtsdestotrotz wird Windows für Angriffe anfälliger, für erfahrene Anwender hält sich die Gefahr durch den abgeschalteten Echtzeitschutz aber in Grenzen, Allerdings sollte der Schutz wieder aktiviert werden, wenn Software aus unsicherer Quelle installiert werden soll.

Windows-Defender-Echtzeitschutz dauerhaft abschalten

Perfiderweise lässt sich der Windows-Defender-Echtzeitschutz nicht mehr dauerhaft deaktivieren. Zwar ließe sich eine Ausnahme für das Windows-Subsystem definieren, doch auf die Gesamt-Performance hat das nur geringen Einfluss. Um das Maximum an Leistung aus dem System und Subsystem zu holen, sollte der Echtzeitschutz daher dauerhaft für das gesamte System deaktiviert werden. Das hilft übrigens auch bei Performance- und Lag-Problemen anderer Entwicklungsumgebungen.

Aufruf des Gruppenrichtlinien-Editors unter Windows 10.
Aufruf des Gruppenrichtlinien-Editors unter Windows 10.
(Bild: Rentrop / Microsoft)

1. Öffnen Sie den Gruppenrichtlinien-Editor in Windows 10. Das geht am schnellsten, indem Sie „Gruppenrichtlinie“ in der Cortana-Suche eingeben. Alternativ kann man auch mit der Kombination Win+R (Windows-Taste und R) den Ausführen-Dialog öffnen und gpedit.msc eingeben.

Navigation zur Echzeitschutz-Richtlinie.
Navigation zur Echzeitschutz-Richtlinie.
(Bild: Rentrop / Microsoft)

2. Klicken Sie sich in den Richtlinien durch folgenden Verzeichnisbaum: Computerkonfiguration -> Administrative Vorlagen -> Windows-Komponenten -> Windows-Defender-Antivirus -> Echtzeitschutz.

Die „Deaktiveren“-Option auf aktiviert setzen.
Die „Deaktiveren“-Option auf aktiviert setzen.
(Bild: Rentrop / Microsoft)

3. Hier finden Sie eine Reihe von Optionen. Klicken Sie doppelt auf „Deaktivieren von Echtzeitschutz“ und setzen Sie den Schalter auf „Aktiviert“. Klicken Sie anschließend auf „OK“. Der Echtzeitschutz ist jetzt systemweit deaktiviert.

Das Deaktivieren des Echtzeitschutzes beschleunigt sowohl das Windows-Subsystem für Linux als auch alle anderen Anwendungen massiv. Positive Nebeneffekte sind mehr Akkulaufzeit (bei Notebooks und Tablets) sowie ein geringerer Lag in Entwicklungsumgebungen wie Microsoft Visual Studio.

Mehr Linux im WSL

Über den Windows-Store gibt es derzeit ja leider nur wenige „offizielle“ Linux-Distributionen für das Windows-Subsystem: Debian, Ubuntu, OpenSUSE, SUSE Enterprise Server und Kali-Linux. Damit sind die wichtigsten Distributionen abgedeckt. Allerdings gibt es durchaus Szenarien, in denen eine zusätzliche Linux-Distribution sinnvoll sein kann.

Hier hilft – wie so oft – Github weiter: Beim Code Hoster finden sich diverse inoffizielle Linux-Distributionen für das WSL, darunter ArchLinux, Fedora oder Alpine. Es gibt sogar rootfs-Installer, die beliebige Linux-Distributionen direkt in Windows möglich machen.

Linux-Kommandos direkt unter Windows nutzen

Übrigens ist es möglich, Linux-Befehle bei aktiviertem WSL direkt unter Windows zu verwenden – und umgekehrt! So lässt sich ein Bash-Befehl direkt in der Eingabeaufforderung des Windows-Systems eingeben und ausführen. Das geht so weit, dass sich Standard-Tools wie der VIM-Editor direkt in der Eingabeaufforderung von Windows nutzen lassen.

Aufruf des Windows-eigenen „ipconfig“ im Linux-Subsystem.
Aufruf des Windows-eigenen „ipconfig“ im Linux-Subsystem.
(Bild: Rentrop / Microsoft)

Auch im Linux-Fenster können direkt Windows-Befehle eingegeben und verwendet werden, um zum Beispiel ein Programm zu starten. Dazu müssen Sie nur mit einem vorgestellten /mnt/c/ den Ordnernamen und die Programmdatei ausführen. Auch hier sind Kommandozeilen-Tools von Windows direkt im WSL ausführbar, was im Alltag recht praktisch sein kann.

Linux-GUI im WSL installieren

Übrigens ist es auch möglich, im WSL mit einer Linux-GUI zu arbeiten. Allerdings nur mit einem kleinen Umweg über einen Windows-X-Server: Installieren Sie zunächst mit sudo apt-get install ubuntu-desktop im WSL den Unity-Desktop. Installieren Sie danach VcXsrv Windows X Server und legen Sie anschließend im WSL-Linux die Ausgabe mit dem Befehl …

export DISPLAY=:0

… auf den X-Server. Das klappt leider nicht mit jedem Programm. Gegebenenfalls ist es nötig, die libgl-Grafiktreiber für die jeweilige Grafikkarte nachzuinstallieren, kann aber im Zweifel helfen, ein GUI-Tool ohne zusätzliches VM-Linux auszuprobieren. Praktisch daran: Das Linux-Programm wird im Fenster unter Windows ausgeführt, kann also je nach Einstellung des X-Servers wie ein Windows-Programm verwendet werden.

Eignet sich das Windows-Subsystem für Linux für jeden?

Das Windows-Subsystem für Linux ist in vielerlei Hinsicht praktisch, vor allem, wenn es nicht mehr durch den Windows-Defender gehemmt wird. Allerdings eignet sich die Umgebung nicht für jede Anwendung. So ist das Subsystem nicht auf große Lasten ausgelegt und sollte daher nicht als dauerhaften Ersatz für eine virtuelle Maschine, einen virtuellen Server oder ähnliche Software verwendet werden.

Einsatzzwecke sollten ausschließlich Entwicklung und Testing sein. Virtuelle Maschinen mit VMWare, VirtualBox oder Docker haben zudem den Vorteil, dass sich die Hardware-Ressourcen für die VM genau spezifizieren lassen. Wer spezifische Hardware-Szenarien testen will, sollte also ebenfalls zur VM greifen. Auch in Sachen Netzwerk-Unterstützung ist das WSL kein „echtes“ Linux, wie es zum Beispiel in einer VM oder einem dedizierten Server der Fall ist, komplexe Netzwerk-Szenarien lassen sich also nicht simulieren.

(ID:45529776)

Über den Autor

 Christian Rentrop

Christian Rentrop

IT-Fachautor