Was sind die Unterschiede zwischen Windows Bash und Cygwin?
Das neue Update von Windows mit "Linux" Bash ist neu, aber welche Unterschiede gibt es zu Cygwin, die Sie dazu bringen könnten, sich für ein anderes zu entscheiden?
windows-subsystem-for-linux
Martijn van Wezel
quelle
quelle
Antworten:
Cygwin ist ein großartiges Tool, wenn Sie vollständig in Windows leben und Windows-Aufgaben mit Bash-Skripten steuern / automatisieren möchten. Cygwin kann jedoch keine unveränderten Linux-Binärdateien ausführen.
Hier greift die WSL ein:
Das Windows-Subsystem für Linux (WSL) ist eine neue Schicht des Windows-Kernels, die ein hohes Maß an Kompatibilität mit dem Linux-Kernel ABI gewährleisten soll. Auf diese Weise können native, unveränderte Linux-ELF64-Binärdateien unter WSL ausgeführt werden.
Auf diese Weise kann WSL eine echte Ubuntu-Distribution für Benutzer ausführen und alle Pakete, die Sie von apt-get herunterladen, oder .deb-Pakete von einem anderen Ort, ohne Änderungen.
Ziel von WSL ist es, Entwicklern, die unter Windows arbeiten, die Möglichkeit zu geben, viele der Tools auszuführen und an vielen Projekten zu arbeiten, die von Linux-Binärdateien, Funktionen, Verhalten, Dateisystemlayout, Prozessmodell usw. abhängen.
Während sich die WSL noch in einem frühen Stadium ihrer Implementierung befindet, arbeiten wir hart daran, die Breite und Tiefe unserer Syscall-Implementierungen zu verbessern, um die Fähigkeit der WSL, einen immer größeren Satz von Tools auszuführen und eine schnell wachsende Anzahl von Ruby, Java, -Knoten zu unterstützen usw. Pakete und Projekte.
Aktualisierung: 07.09.2017
Seit dem Schreiben des obigen Dokuments haben wir Windows 10 Creators Update ausgeliefert, das die Kompatibilität der WSL mit VIELEN der Tools, die Sie ausführen möchten / müssen, massiv verbessert.
Die Entwicklung wurde auch unvermindert fortgesetzt und wir haben Win10 Insiders Builds in den letzten Monaten auf dem Weg zur Auslieferung des Fall Creators Update (FCU) im Oktober 2017 ausgeliefert.
In der FCU haben wir die Möglichkeit, mehrere Distributionen nebeneinander zu installieren und auszuführen: Ubuntu, openSUSE und SLES sind derzeit verfügbar, Fedora und andere sind unterwegs. WSL unterstützt jetzt auch USB-serielle Kommunikation und das Mounten von USB-Speicher- und Netzwerkfreigaben sowie weitere Verbesserungen an unseren Systemaufrufen, die die Kompatibilität mit weiteren Tools verbessern.
Update: 22.08.2019
Es ist ein paar Jahre her, dass WSL zuerst angekündigt und veröffentlicht wurde, dann Unterstützung für mehrere Distributionen über den Store hinzugefügt und WSL v1.0 HTH angekündigt wurde.
Auf Build 2019 haben wir das neue Windows Terminal ( Terminal-Sitzungsvideo hier ) und WSL 2 ( WSL 2-Sitzungsvideo hier ) vorgestellt, die einen völlig neuen Ansatz für die Ausführung von Linux unter Windows einführen.
Weitere Informationen und zukünftige Updates finden Sie alle paar Wochen im Windows-Befehlszeilenblog, in dem wir zahlreiche verwandte Nachrichten veröffentlichen
quelle
Windows-Subsystem für Linux
Ich benutze WSL seit ungefähr ein paar Monaten unter Windows 10. Endlich kann ich Windows zum Spielen starten und trotzdem auf die Bash-Eingabeaufforderung zugreifen und CLI und viele GUI-Programme ausführen. Es gibt Einschränkungen wie keine der bekannten virtuellen Linux-Kernel-Verzeichnisse. Planung ist erforderlich, um dasselbe Bash-Skript für Ubuntu und WSL auf einem Dual-Boot-Computer zu verwenden.
Es gibt viele Dinge, die ich gerne verbessert hätte, aber ich kann damit leben, wie es für ein Jahr oder so ist.
Geschlossene Quelle
Beachten Sie, dass Microsoft ein geschlossenes System ist und Sie nicht die Unruhe von Drittanbietern verspüren, die Aktualisierungen schreiben, die Ihnen unter Linux gefallen. Aber wenn man bedenkt, dass man einen neuen Laptop kauft und dieser sowieso mit Windows 10 geliefert wird, kann man sagen, dass er mindestens "kostenlos" ist :)
Cygwin wird von Red Hat Linux gesteuert, das nicht gerade dafür bekannt ist, Dinge kostenlos zu verschenken. Ihre "kostenlose" Linux-Distribution Fedora scheint für manche ein "Testfeld" zu sein.
Wartungszyklen
Cygwin hat 15 Jahre Updates. Bemerkenswert ist, dass derselbe Projektmanager seit 2003 im Amt ist. Es gibt viele Vollzeitbetreuer und viele weitere freiwillige Mitarbeiter.
Die WSL bietet zweimal jährlich im Frühjahr und Herbst wichtige Updates an. Wöchentliche kleinere Updates sind für Entwickler in der Abonnementliste verfügbar. Obwohl Microsoft über Ressourcen verfügt, um Tausende von Menschen in die WSL-Entwicklung einzubeziehen, können Sie die Teammitglieder anscheinend mit den Fingern zählen.
Geschwindigkeitsprobleme
Sie werden viele Beschwerden über die Geschwindigkeit der WSL sehen. Beispielsweise dauert das Malen von Bildschirmen in Windows 10 um ein Vielfaches länger als in Ubuntu 16.04, dh Sie können tatsächlich sehen, wie sich der Cursor in Windows 10 bewegt:
Es dauert ungefähr 5 Sekunden, bis der Begrüßungsbildschirm von WSL Bash angezeigt wird. Im Vergleich dazu sind es ungefähr 1 1/2 Sekunden für den gleichen Begrüßungsbildschirm in Ubuntu 16.04:
Cygwin hat einen eigenen Anteil an Geschwindigkeitsbeschwerden bei Bash .
Ursprüngliche Buchung unten als historischer Bezug.
Die Antwort hier ist ein Jahr alt, daher halte ich ein kleines Update für angebracht. Wenn es sich bei Windows 10 Home um ein 32-Bit-Windows handelt, bedeutet dies, dass das 64-Bit-Ubuntu / Windows-Subsystem nicht ausgeführt wird, wie Microsoft hier mitteilt: ( Windows Linux-Subsystem in win10 HOME BASIC ).
Es ist wie ein Traum, wenn Ubuntu unter Windows mit seiner überragenden Spielunterstützung für Nvidia ausgeführt wird. Bevor Sie sich jedoch einen neuen (oder gebrauchten) Laptop zulegen, sollten Sie sicherstellen, dass Windows 10 64-Bit und nicht die 32-Bit-Heimversion installiert ist Sie möchten Ubuntu / Linux-Inhalte nativ unter Windows ausführen. Auf Microsoft-Websites wird die Windows Anniversary Edition als Voraussetzung für die Ausführung von Windows Subsystem for Linux bezeichnet.
Wenn Sie jedoch nicht mehr als 200 US-Dollar für Windows 10 bezahlen möchten und wie ich einen älteren Laptop mit Windows 8.1 64-Bit haben und wie ich einen noch älteren Laptop mit Windows Vista 64-Bit haben, dann ist Cygwin das Richtige für Sie die Antwort.
Cygwin unterstützt weitere Windows-Versionen, die auf der Website aufgelistet sind :
quelle