Unser drittes Türchen in unserem Adventskalender!

Seit Herbst 2017 gilt das Windows Subsystem für Linux (WSL) als final und nicht mehr in der Betaphase. In 2016 war es erstmalig angekündigt worden. In meinem Anwendungsbericht möchte ich dir eine kurze Einführung in das WSL geben. Vor allem aber möchte ich dir erklären, wie ich das WSL nutze und welche Vorteile es Entwicklern bietet.

Das kann das Windows Subsystem für Linux (WSL)

Das Windows Subsystem für Linux lässt Entwickler eine Linux Umgebung (inklusive der meisten Kommandozeilen Werkzeuge und Anwendungen) ohne den Overhead einer Virtuellen Maschine direkt auf einem Windows System ausführen.

In der Doku heißt es:

  1. Choose your favorite Linux distributions from the Windows Store.
  2. Run common command-line utilities such as grep, sed, awk, etc.
  3. Run Bash shell scripts and Linux command-line applications including:
    • Tools: vim, emacs, tmux
    • Languages: Javascript/node.js, Ruby, Python, C/C++, C# & F#, Rust, Go, etc.
    • Services: sshd, MySQL, Apache, lighttpd
  4. Install additional Linux tools using the distribution’s built in package manager (apt-get, for example).
  5. Invoke Windows applications from the Linux console.
  6. Invoke Linux applications on Windows.

 – Lies die gesamte Doku hier

Damit du das WSL benutzen kannst, benötigst du Windows 10 mit dem Fall Creators Update (Version 1709). Denn dort ist das WSL in der finalen Version erschienen und die Linux Distributionen stehen im Microsoft Store zur Verfügung. In älteren Windows 10 Versionen ist das WSL noch im Beta Stadium und nur mit Ubuntu erhältlich.

Auch wenn die meisten Anwendungen mit dem WSL funktionieren, gibt es dennoch einige Wenige, die nicht gehen. Das ist beispielsweise Docker. Dafür gibt es zwei mögliche Gründe. Entweder führen diese Anwendungen Systemaufrufe unter Linux aus, die noch nicht implementiert sind oder sie benötigen eine grafische Oberfläche.

So installierst du das WSL

Die Installation des WSL ist sehr einfach. Folgend eine kurze Anleitung.

Zuerst musst du das Feature aktivieren:
  • Rechtsklick auf den Windows Start Button, dann “Apps und Features” auswählen
  • In “Einstellung suchen“ oben nach “Windows-Features” suchen und öffnen
  • Dort nach unten scrollen und einen Haken bei “Windows-Subsystem für Linux” machen. Ok klicken
  • Neustart
Als Nächstes installierst du die Linux Distribution aus dem Microsoft Store:
  • Microsoft Store öffnen
  • Nach der gewünschten Distribution suchen (bei mir Ubuntu)
  • Installieren Klicken
  • Dann Ubuntu starten (Die restliche Installation wird ausgeführt.)
  • Dann wirst du aufgefordert einen UNIX Benutzernamen und ein Passwort zu vergeben (Das Passwort brauchst du für den “sudo” Zugriff)

Fertig ist die Installation.

Jetzt kannst du das WSL über das Ubuntu Icon oder durch die Eingabe von “bash.exe” starten.

So arbeite ich mit dem Windows Subsystem für Linux

Da das WSL nicht viel von Haus aus installiert hat, kannst du jetzt ganz normal mit “sudo apt-get” Pakete installieren. Ich habe mir dafür ein Provisioning Script erstellt, welches einige Tools wie GIT und PHP installiert und auch schon Verknüpfungen erstellt, damit GIT per SSH funktioniert. Dies lasse ich jetzt einmal laufen.

Du kannst die ganze WSL auch leicht wieder zurücksetzen. Dafür verwendest du den Befehl “lxrun /uninstall /full” im Administratormodus der normalen Eingabeaufforderung und deinstallierst anschließend die Ubuntu App.


Das Dateisystem von Windows findest du in der WSL unter “/mnt/<Laufwerksbuchstabe>/”.

Wenn du mit PHPStorm und der WSL arbeitest, musst du zur Zeit noch viele Tools unter Windows und dem WSL installieren. Allerdings arbeitet JetBrains daran, WSL Support anzubieten. Dann könntest du GIT auch nur noch innerhalb des WSL installieren. Wenn du allerdings sowieso nur mit der Kommandozeile arbeitest, ist dies wohl kein so großes Problem.

Allerdings lässt sich das WSL jetzt schon als Terminal in PHPStorm einbinden.

Dafür in den Settings einfach nach “Terminal” suchen und bei “Shell path” “C:WindowsSystem32bash.exe” eintragen.

Anmerkung: Für die Entwicklung ist es wichtig, dass nicht mit absoluten Pfaden gearbeitet wird. Da es vorkommen kann, dass man PHP in Windows oder dem WSL benutzt, solltest du immer die Konstante __DIR__ verwenden.

Du kannst aus der Shell auch Windows Programme starten. Dafür einfach die .exe Datei ausführen.
Andersherum kannst du auch Linux Kommandos unter Windows aufrufen. Dafür musst du allerdings “bash.exe -c “ls”” verwenden. Die Pfade übersetzt das WSL automatisch oder du musst sie mit /mnt/… angeben.

Auch Docker läuft bei mir in dem WSL. Wenn du das auch möchtest, dann gehe folgendermaßen vor: Installiere Docker unter Windows und der WSL und sag dem Docker in der WSL, dass es Docker unter Windows nutzen soll, sodass man zumindest die Kommandos nutzen kann.

Meine Bewertung: Vorteile bei Entwicklung

Die Verwendung des Windows Subsystem für Linux bietet mir den großen Vorteil in der Webentwicklung, dass ich auch Linux Scripte ausführen kann, die sonst unter Windows nicht funktionieren. Obendrein bleibe ich in einer gewohnten Umgebung, da die meisten Webserver unter Linux laufen. Außerdem kann man auch die ganzen schönen Linux Befehle unter Windows benutzen.

Ich benutze fast ausschließlich nur noch das WSL unter Windows, wenn ich eine Shell gebrauche.

Mit dem Werkzeug, was Microsoft da geschaffen hat, findet für mich die Überlegung auf ein anderes Betriebssystem umzusteigen gar nicht mehr statt. Das WSL bietet mir alles, was ich brauche.

Du bist anderer Meinung? Oder hast Fragen? Dann hinterlasse einfach einen Kommentar.

Öffne das vierte Türchen unseres WordPress Adventskalenders 2017!

Antwort abgeben

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.