Windows 10 Subsystem for Linux WSL mit ConEmu

Mit Windows 10 hat Microsoft das "Windows Subsystem for Linux", kurz WSL (WLS 1) eingeführt. Damit ist es möglich, Linux-Software unter Windows auszuführen. Wichtig ist dabei, bei WSL handelt es sich (noch) nicht um eine virtuelle Maschine! Microsoft hat eine Linux-kompatible Kernelschicht einwickelt, über die Linux-Programme ausgeführt werden können.

Ich finde, mit dem Windows Subsystem for Linux hat Microsoft ein wirklich cooles Tool eingebaut, welches ich sehr oft nutze. Deshalb heute der Blog, wie man WSL installiert und richtig Konfiguriert, damit es noch mehr Spaß macht!

WSL kann viel mehr sein, als nur ein guter SSH Client!

Anmerkung

Ich habe für diesen Blog extra eine virtuelle Maschine mit Windows 10 installiert, um alle Schritte nochmal durchgehen zu können.

Installation

Die Installation selbst ist Kinderleicht und wird auch in der offiziellen Dokumentation von Windows beschrieben. Zuerst muss man die PowerShell als Administrator starten.

Über den folgenden Befehl, wird dann WSL als Windows-Feature nachinstalliert.

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

Anschließend muss ein Neustart durchgeführt werden. Windows 10 Installation von WSL

Danach können über den Microsoft Store verschiedene Linux-Distributionen bezogen werden. Ich habe mich einmal für Ubuntu 18.04 und für Ubuntu 16.04 entschieden.

Ubuntu über Microsoft Store beziehenL

Für den Download ist (soweit ich weiß) ein Microsoft-Konto nötig. Sobald der Download abgeschlossen ist, kann "Ubuntu" über das Startmenü gestartet werden. Beim ersten Startvorgang, wird die Installation abgeschlossen. Dabei setzt ihr auch euren Benutzernamen und ein Passwort. Das Passwort wird dann später benötigt, um sudo nutzen zu können.

Erster Start von Ubuntu in WSL

Ab jetzt ist die Installation abgeschlossen. Cowsay mit WSL

Installation und Konfiguration von ConEmu

Wer WSL nur als einen SSH Client verwenden möchte, der ist theoretisch jetzt schon fertig.

Ich nutzte WSL allerdings in der Regel als Linux-Alternative. So kann ich zum Beispiel schnell und einfach Linux-Anwendungen unter Windows entwickeln. Damit dies alles etwas leichter von der Hand geht, empfele ich jedem den Terminal-Emulator ConEmu zu verwenden. Hier geht es zum Download.

ConEmu unterstützt verschiedene Terminals, wie CMD oder die PowerShell. Über die WSLBridge / Bash on Windows können wir auch unser Ubuntu in ConEmu nutzen und erhalten praktische Features wie Tabs und vieles mehr.

Wer wie ich, zwei oder mehr Linux-Distributionen installiert hat, muss sich als erstes entscheiden, welches Linux er verwenden möchte. Ich habe in meinem Beispiel hier Ubuntu 16.04 und Ubuntu 18.04 zur Auswahl. In ConEmu möchte ich allerdings Ubuntu 18.04 verwenden. Dafür muss ich zuerst die UUID von Ubuntu 18.04 auslesen. Dafür müssen einfach die folgenden zwei Befehle in einer PowerShell ausgeführt werden:

get-childitem -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Lxss
get-childitem -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Lxss | ft name

Sucht in der Ausgabe die Distributione, die ihr verwenden möchtet. Der erste Befehl liefert euch dafür die UUID und den Namen.

Mit dem zweiten Befehl, bekommt ihr eine Liste mit allen UUIDs, wo ihr dann die entsprechende UUID einfach bequem kopieren könnt.

UUID von WSL Distributione auslesen

In meinem Fall ist die UUID für Ubuntu 18.04 die 79560d72-5f05-484c-ac2f-db60a352f038.

Öffnet jetzt die Einstellungen von ConEmu. ConEmu Einstellungen

Wählt nun Tasks und dann {Bash:bash}. ConEmu setup WSL Bridge

An den Befehl in der unteren rechten Box hängt ihr nun folgendes an: --distro-guid={79560d72-5f05-484c-ac2f-db60a352f038}. Hier tragt ihr natürlich eure UUID ein.

Zur Verdeutlichung, habe ich im Editor nochmal einen Vorher-Nachher Vergleich gemacht. ConEmu setup WSL Bridge

Damit Ubuntu das Standardterminal ist, wenn ihr einen Tab öffnet, solltet ihr noch unter Startup {Bash::bash} auswählen. ConEmu WSL Bridge as default terminal

Klick auf Save settings um die Einstellungen zu speichern.

Geschafft! Ab jetzt könnt ihr ConEmu mit WSL nutzen. Viel Spaß mit Linux auf Windows! WSL inside of ConEmu

Ihr könnt ConEmu natürlich auch weiterhin noch für CMD oder PowerShell verwenden. ConEmu WSL Bridge as default terminal


Nächste Woche geht es damit weiter, Anwendungen mit einer grafischen Oberfläche (GUI) im Windows Subsystem for Linux zu benutzen.


Noch eine kleine Info. Nicht jedes Programm funktioniert unter WSL. Als kleines Beispiel sei mal systemctl genannt. Wie zu Beginn gesagt, handelt es sich bei Windows Subsystem for Linux nicht um eine virtuelle Maschine. Als Alternative für systemctl kann man aber einfach service nutzen. (service apache2 start zum Beispiel).