Windows-Subsystem für Linux (WSL): Was kann ich mit der Ubuntu-Anwendung für Microsoft Windows nicht tun?

23

Wie die meisten von Ihnen wissen, gibt es im Microsoft Store drei Versionen von Ubuntu . Dies bedeutet, dass ich unter Windows Ubuntu emulieren und die Ubuntu-Befehlszeile direkt unter Windows haben kann.

Die Frage ist sehr einfach: Was kann ich nicht über die in Windows emulierte Ubuntu-Befehlszeile tun, die ich auf einem richtigen Linux-basierten Ubuntu tun kann? Ist es sinnvoll, diese Ubuntu-Anwendung herunterzuladen, zu installieren und nur damit zu arbeiten, anstatt mit dem echten Betriebssystem? Ist es möglich, alle Entwicklungsbibliotheken zu installieren? Kann ich Gerätetreiber schreiben (oder nicht)? Mit anderen Worten: Wo liegen die Grenzen?

Welche Funktionen von Ubuntu Linux-basiert fehlen in Ubuntu-on-Windows?

Neue Antworten sind willkommen: Ich weiß, dass sich jede Software durch die Verbesserung von Eigenschaften und Merkmalen ständig ändert!

Leos313
quelle
Wenn Sie in Windows gebootet haben, vielleicht zum Spielen, ist es schön, wenn Ubuntu 16.04 dort installiert ist, wenn Sie sich in einer kleinen Pause befinden und die Fragen und Antworten zu Ubuntu hier lesen und schnell einige Befehle ausprobieren möchten, ohne einen Neustart durchführen zu müssen. Wenn Sie die Einschränkungen von Ubuntu unter Windows berücksichtigen
möchten,
1
Die WSL ist in Bezug auf E / A (Festplattenoperationen) immer noch viel langsamer als die virtuellen Linux-Maschinen, die unter Windows ausgeführt werden. Dies scheint jedoch ein Bereich zu sein, an dem Microsoft gearbeitet hat.
Liori
@jpaugh, genau, danke! Ich habe auch gerade die Frage noch einmal aktualisiert :)
Leos313

Antworten:

19

Das Ubuntu, das unter Windows 10 Subsystem für Linux läuft, ist keine Volldistribution. Tatsächlich ist es überhaupt kein Linux - es hat keinen Linux-Kernel. Sie können also keine Kernel-Erweiterungen, einschließlich Treiber, testen oder ausprobieren, da Sie nicht mit Linux arbeiten .

Wenn Sie solche Dinge tun möchten, installieren Sie Ubuntu entweder in einer VM - Win10 enthält Hyper-V, aber ich persönlich bevorzuge VirtualBox, die kostenlos ist - oder starten Sie Ihren Computer mit Dual-Boot, wobei Ubuntu auf dem Bare-Metal-System ausgeführt wird. Sie werden letzteres mit ziemlicher Sicherheit schneller finden als Windows - das tue ich auf allen meinen Rechnern. Dies liegt zum Teil daran, dass Sie unter Windows einen Virenschutz benötigen, der die Leistung, insbesondere die Festplattenleistung, beeinträchtigt. Und weil Sie es brauchen, enthält Win10 ein eingebautes Antivirusprogramm.

Unter Linux benötigen Sie keine, sodass die Leistung weniger beeinträchtigt wird.

Liam Proven
quelle
20
Warum brauchen Sie unter Linux kein Virenschutzprogramm?
Zymus
7
@SeligkeitIstInGott Es ist kein Emulator. Es ist eine Kompatibilitätsebene, genau wie für Wine unter Linux.
Eric Duminil
6
"Unter Linux benötigen Sie kein [Antivirus], wodurch die Leistung weniger beeinträchtigt wird." - Linux ist nicht immun gegen Viren / Malware / etc. Die Antivirus-Software ist unter Linux nützlich, um sich selbst zu schützen und um zu verhindern, dass sich schädliche Inhalte auf andere Umgebungen (z. B. Windows) ausbreiten. Ich weiß, dass es normalerweise nicht verwendet wird, aber das bedeutet nicht, dass die Bedrohung nicht existiert.
Daniel
4
Ich habe ein Problem damit. 1. Zum Ausführen von Windows ist Antivirus nicht erforderlich. Das Windows-Betriebssystem wird ohne Antivirus ausgeführt. Es kommt auch mit einem Antivirus, was zu Punkt 2 führt: Das Auswählen von zufälliger Software als "Verlangsamung des Betriebssystems" erscheint willkürlich - was, wenn ich argumentiere, dass Ubuntu langsamer ist, weil ich eine Menge zusätzlicher Software benötige, um Apps zum Laufen zu bringen nur unter Windows arbeiten? (Wie eine VM, damit ich AAA-Spiele spielen kann?). 3. Sie haben keine Beweise für diese Behauptung vorgelegt.
Caleb Jay
6
@ Hack-R Es gibt keine Täuschung. Von Anfang an war klar, dass dies nicht der eigentliche Linux-Kernel ist. Es begann als "Ausführen von Linux-Tools, insbesondere Bash" bis "Ausführen von Linux-Umgebungen / -Distributionen / -Anwendungen". Wenn irgendetwas davon täuscht, dann ist es auch WEIN.
Bob
7

Unter dem Windows-Subsystem für Linux (WSL) können Sie nicht einfach Linux-GUI-Anwendungen ausführen.

Dazu müssen Sie einen nicht unterstützten X11-Server wie VcXsrv oder Xming installieren.

Das Aktivieren von WSL ist relativ einfach. Als Linux-Kommandozeilenbenutzer scheint es ziemlich gut zu sein.

RedGrittyBrick
quelle
Ich würde nicht ohne VcXsrvUnterstützung anrufen . Sie haben ungefähr 10 Updates veröffentlicht, seit ich es benutzt habe (Oktober 2017).
WinEunuuchs2Unix
1
@ WinEunuuchs2Unix: Ich meinte, von Miscrosoft nicht unterstützt, in dem Sinne, dass sie WSL unterstützen, indem sie die Kernel-API implementieren, das Ubuntu-Userland verteilen, Tools zum Installieren / Aktivieren von WSl bereitstellen und so weiter.
RedGrittyBrick
7

Zu jeder der obigen Antworten gibt es viele nützliche Informationen. Ich fasse hier die Hauptkonzepte von jedem von ihnen zusammen.

Update Mai 2019 : Wie in einer der jüngsten Antworten hervorgehoben, entwickelt sich die WSL weiter, indem sie den echten Linux-Kernel verwendet und viele weitere Optionen bietet. Ich habe dieses Dokument durchgesehen und wenn es bestätigt wird, wird es ein großer Schritt nach vorne sein. Hier finden Sie einen schönen Artikel zum Thema "echter Linux-Kernel auf W10"

Zusammenfassend: "Ubuntu unter Windows ist das vollständige Ubuntu-Userland auf einem Windows-Kernel im Linux-Kompatibilitätsmodus", wie in einem der Kommentare ausgeführt.

Was ich nicht kann:

  • Offiziell wird bisher keine Grafikschnittstelle unterstützt. Dies bedeutet auch, dass Grafikanwendungen nicht ausgeführt werden können. Darüber hinaus werden die Standard-GUIs des klassischen Ubuntu Linux-basierten natürlich aus diesem Grund nicht unterstützt.
  • Der von Linus entwickelte Linux-Kernel ist NICHT Bestandteil des Windows-Subsystems für Linux (WSL). Das bedeutet, dass Sie keine Treiber entwickeln und direkt ausprobieren können.
  • Nicht jede Befehlszeile funktioniert.

Was ich tun kann:

  • Verwenden Sie die Befehlszeile und die grundlegende Bash-Shell. Es ist möglich, Skripte zu schreiben und auszuführen.
  • Entwickeln Sie Anwendungen (kompilieren Sie oder kompilieren Sie und führen Sie sie aus), aber bisher ohne Grafiken.
  • Verwenden Sie "apt-get", um neue / alte Pakete zu installieren / entfernen.

Zusätzliche Information:

  • andere Distributionen werden offiziell unterstützt (wie zum Beispiel Debian und Kali)
  • Diese Anwendungen können kostenlos aus dem Windows Store heruntergeladen werden. Hier finden Sie die Anleitung zur Installation und Verwendung.

  • In dieser anderen Frage des Blogs einige Vorschläge zur Verwendung einer GUI für die WSL (inoffiziell, Drittanbieter)

UPDATE August 2019 : Die neue WSL 2 wurde veröffentlicht (lesen Sie hier für weitere Informationen). Es scheint, dass Sie mit einem echten Linux-Kernel und mit einem Linux-Dateisystem arbeiten können. Nur habe ich die neue Version noch nicht ausprobiert (sie steht auf meiner TODO-Liste).

Leos313
quelle
4

Von How-To-Geek :

[It] unterstützt noch keine Hintergrundserver-Software und funktioniert offiziell nicht mit grafischen Linux-Desktop-Anwendungen. Auch funktioniert nicht jede Befehlszeilenanwendung, da die Funktion nicht perfekt ist.

Update von allquixotic's Kommentar :

Ab Windows 10 v1803 Hintergrund - Tasks werden unterstützt.

wjandrea
quelle
6
Ab Windows 10 v1803 Hintergrund - Tasks werden unterstützt.
Allquixotic
Es kann hilfreich sein, auf "Hintergrundaufgaben" = crontabund andere Daemons hinzuweisen . Hier ist ein praktisches Beispiel für das Laden crontabbeim Starten von Windows. Verwenden Sie dann rsyncalle 2 Tage zum Sichern der Windows-Datenbank: blog.snowme34.com/post/…
WinEunuuchs2Unix
2

Ab Mai 2019 befindet sich die WSL 2 in der Entwicklung .

Die Leistung des Dateisystems wird erheblich gesteigert und die Systemaufrufe sind voll kompatibel. Dies bedeutet, dass Sie in WSL 2 mehr Linux-Apps ausführen können, z. B. Docker.

...

WSL 2 verwendet eine völlig neue Architektur, die einen echten Linux-Kernel verwendet .

...

Erste Builds von WSL 2 werden Ende Juni 2019 über das Windows-Insider-Programm verfügbar sein.

(Hervorhebung von mir)

DB
quelle