Linux-Anwendungen auf Windows ausführen

Das Anniversary Update für Windows 10 enthält eine sehr nützliche neue Komponente: das Windows Subsystem for Linux.

Das WSL stellt die Linux-API unter Windows zur Verfügung. Es lassen sich also Linux-Anwendungen unter Windows ausführen. Die Anwendungen laufen nativ auf Windows, also nicht in einer virtuellen Maschine in Hyper-V. Die Paketverwaltung läuft über ein Ubuntu.

Installation
Um das WSL angezeigt zu bekommen, muss man den Entwicklermodus aktivieren. Dies macht man in den Systemeinstellungen:
Entwicklermodus

Danach kann man es über "Features hinzufügen" aktivieren:
Feature WSL

Nun hat man im Startmenü einen neuen Eintrag: Bash on Ubuntu on Windows. Dies ist die Linux-Shell. Darin kann man jetzt mit aptitude oder apt-get Pakete installieren.

Dateizugriff
Die Dateien des Linux-Systems sind im Benutzerprofil unter \AppData\Local\lxss\rootfs gespeichert. Die lokalen Laufwerke sind unter /mnt/ eingebunden. C:\Daten entspricht im Linux also /mnt/c/Daten.

Was funktioniert, was nicht?
Es laufen eigentlich alle Linux-Anwendungen im WSL. Der Netzwerkzugriff funktioniert selbstverständlich auch. Da kein Kernel läuft, sind direkte Zugriffe auf die Hardware (Grafik, Audio etc.) nicht möglich und es können natürlich auch keine Kernelmodule geladen werden.

grafische Oberfläche installieren
Da wie erwähnt aus dem WSL kein Zugriff auf die Grafikkarte möglich ist, muss man sich eines Tricks behelfen, um Anwendungen mit GUI ausführen zu können: Man installiert im Windows selbst einen X-Server und steuert ihn aus dem WSL an.

Ich habe den VcXsrv verwendet. Im WSL habe ich zum Test den Window Manager xfce4 sowie Firefox installiert mit

aptitude install xfce4 firefox

Da WSL keine Sockets bietet, muss man noch in der Datei /etc/dbus-1/session.conf ändern von

<listen>unix:tmpdir=/tmp</listen>

in

<listen>tcp:host=localhost,port=0</listen>

und den dbus neu starten.

Danach kann man xfce4 starten mit

DISPLAY=:0 startxfce4

Im Anwendungsmenü links oben findet man den installieren Firefox:
Firefox WSL

3 Gedanken zu „Linux-Anwendungen auf Windows ausführen

  1. tsrb

    schön...
    das funktioniert alles reibungslos und ist wunderbar. Auch gibt es diese Art Anleitung zuhauf im Netz.
    NUR:
    Wie zur Hölle binde ich eine externe Festplatte mit ext4, also Linux-Partition, ein um mit (z.B.) Nautilus darauf zuzugreifen?

    Ob Suse, mint oder Ubuntu, ein LIVE System oder direkt nebeneinander installiert funktioniert 100-prozentig besser.
    Dabei würde es auch weniger holprig gehen, mag man (bei M$) aber scheinbar nicht?
    Denn dann würde sich herausstellen dass jedes Linux die Nase vorn hat.
    Auch vor Android und iOS.

    Diese Erkenntnis hätte (für M$) allein in München, einen Verlust von 130 Millionen Euro zur Folge.
    Da stellt die öffentliche Hand nämlich gerade wieder von Linux auf Windows um.
    Aber zurück zum Thema:
    Im WSL findet das Linux-System nur die üblichen Verdächtigen (wie home etc usr).
    Wo ist der Haken?

    Antworten
    1. mkr

      WSL ist eine Ebene zu hoch für den direkten Zugriff aufs Dateisystem. Es läuft ja kein Linux-Kernel, sondern es wird nur die Umgebung emuliert.

      Um im WSL auf eine ext4-Partition zuzugreifen, muss man sie im Windows mounten. Dafür gibt es Tools, wobei wie ich gesehen habe nur das kommerzielle ExtFS von Paragon den Schreibzugriff unterstützt.

      WSL ist kein Ersatz für ein vollwertiges Linux. Es ist praktisch, um kleinere Linux-Anwendungen auszuführen oder etwas zu testen. Für den täglichen Gebrauch würde ich Linux als VM unter Hyper-V installieren (oder Linux installieren und Windows als VM laufen lassen, je nachdem, was man mehr braucht).

      Antworten

Schreiben Sie einen Kommentar

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