Jakie są różnice między Windows Bash a Cygwin?
Nowa aktualizacja systemu Windows z „Linux” Bash jest nowa, ale jakie są różnice w stosunku do Cygwin, które mogą sprawić, że wybierzesz jedną z nich?
Jakie są różnice między Windows Bash a Cygwin?
Nowa aktualizacja systemu Windows z „Linux” Bash jest nowa, ale jakie są różnice w stosunku do Cygwin, które mogą sprawić, że wybierzesz jedną z nich?
Odpowiedzi:
Cygwin to świetne narzędzie, jeśli chcesz żyć całkowicie w systemie Windows i chcesz prowadzić / automatyzować zadania systemu Windows za pomocą skryptów bash. Jednak Cygwin nie jest w stanie uruchomić niemodyfikowanych plików binarnych systemu Linux.
Właśnie tam wkracza WSL:
Podsystem Windows dla systemu Linux (WSL) to nowa warstwa jądra systemu Windows, która ma na celu zapewnienie wysokiego stopnia zgodności z ABI jądra systemu Linux. Pozwala to na uruchamianie natywnych, niezmodyfikowanych plików binarnych Linux ELF64 na WSL.
W ten sposób WSL może uruchamiać oryginalną dystrybucję Ubuntu dla użytkowników i dowolne pakiety, które pobierasz z apt-get lub .deb z dowolnego miejsca, bez żadnych zmian.
Celem WSL jest umożliwienie programistom pracującym w systemie Windows uruchamiania wielu narzędzi i pracy nad wieloma projektami, które zależą od plików binarnych systemu Linux, funkcji, zachowań, układu systemu plików, modelu procesu itp.
Chociaż WSL jest wciąż na wczesnym etapie wdrażania, ciężko pracujemy, aby poprawić szerokość i głębokość naszych wdrożeń syscall, aby stale poprawiać zdolność WSL do uruchamiania coraz większego zestawu narzędzi i obsługiwać szybko rosnącą liczbę węzłów Ruby, Java, itp. pakiety i projekty.
Od czasu napisania powyższego, wysłaliśmy aktualizację Windows 10 Creators Update, która MASYWNIE poprawia kompatybilność WSL z WIELE narzędzi, które chcesz / musisz uruchomić.
Prace rozwojowe również trwały bez przerwy, a przez ostatnie kilka miesięcy wysyłaliśmy kompilacje testerów Win10 w drodze do aktualizacji Fall Creators Update (FCU) w październiku 2017 r.
W FCU dodajemy możliwość instalowania i uruchamiania więcej niż jednej dystrybucji obok siebie: Ubuntu, openSUSE i SLES są obecnie dostępne, z Fedorą i innymi w drodze. WSL obsługuje teraz również komunikatory szeregowe USB oraz montaż pamięci USB i udziałów sieciowych, a także dalsze ulepszenia naszych połączeń systemowych, które poprawiają kompatybilność z większą liczbą narzędzi.
Od pierwszego ogłoszenia i wydania WSL minęło bardzo dużo czasu, a następnie dodaliśmy obsługę wielu dystrybucji za pośrednictwem sklepu i ogłosiliśmy WSL v1.0 HTH.
Podczas kompilacji 2019 ogłosiliśmy nowy terminal Windows ( tutaj wideo sesji terminalu ) i WSL 2 ( tutaj wideo sesji WSL 2 ), który wprowadza zupełnie nowe podejście do uruchamiania Linuksa w systemie Windows.
Aby uzyskać więcej informacji i przyszłych aktualizacji, odwiedź blog wiersza polecenia systemu Windows co kilka tygodni, w którym publikujemy wiele powiązanych wiadomości
Używam WSL pod Windows 10 od około kilku miesięcy. Wreszcie mogę uruchomić system Windows w celu grania i nadal uzyskiwać dostęp do monitu bash oraz uruchamiać CLI i wiele programów GUI. Istnieją ograniczenia, takie jak żaden ze znanych katalogów wirtualnych jądra Linux. Konieczne jest zaplanowanie udostępniania tego samego skryptu Bash między Ubuntu i WSL na maszynie z podwójnym uruchomieniem.
Jest wiele rzeczy, które chciałbym poprawić, ale mogę z tym żyć przez około rok.
Jedną rzeczą do zapamiętania jest to, że Microsoft jest systemem zamkniętym i nie ma się w nim wielu osób piszących aktualizacje tak, jak lubisz w Linuksie. Ale wszystkie rzeczy uważane są za zakup nowego laptopa, który i tak ma system Windows 10, więc można powiedzieć, że jest co najmniej „darmowy” :)
Cygwin jest kontrolowany przez Red Hat Linux, który również nie jest znany z rozdawania rzeczy za darmo. Ich „darmowa” dystrybucja Linuksa Fedora wydaje się dla niektórych „polem testowym” .
Cygwin ma 15 lat aktualizacji. Godne uwagi jest to, że ten sam kierownik projektu istnieje od 2003 roku. Jest wielu pełnoetatowych opiekunów i wielu innych wolontariuszy.
WSL zapewnia ważne aktualizacje dwa razy w roku każdej wiosny i jesieni. Cotygodniowe drobne aktualizacje są dostępne dla osób z listy subskrypcji programistów. Chociaż Microsoft ma zasoby, które mogą zaangażować tysiące ludzi w rozwój WSL, wydaje się, że możesz policzyć członków zespołu palcami.
Zobaczysz wiele skarg dotyczących prędkości WSL. Na przykład malowanie ekranu trwa wiele razy dłużej w systemie Windows 10 w porównaniu z Ubuntu 16.04, tzn. Można zobaczyć ruch kursora w systemie Windows 10:
Malowanie ekranu powitalnego WSL Bash zajmuje około 5 sekund. Dla porównania jest to około 1 1/2 sekundy dla tego samego ekranu powitalnego w Ubuntu 16.04:
Cygwin ma swój własny udział w skargach dotyczących prędkości w Bash .
Odpowiedź tutaj ma rok, więc myślę, że trochę aktualizacji jest w porządku. W przypadku Windows 10 Home, jeśli jest to 32-bitowy system Windows, oznacza to, że nie będzie uruchamiał 64-bitowego podsystemu Ubuntu / Windows, jak mówi nam Microsoft: ( podsystem Windows Linux w win10 HOME BASIC ).
To jak spełnienie marzeń, uruchamianie Ubuntu w systemie Windows z doskonałą obsługą gier dla Nvidii, ale zanim skończysz i kupisz nowego (lub używanego) laptopa, upewnij się, że ma on Windows 10 64-bitowy, a nie 32-bitową wersję domową, jeśli chcesz uruchomić Ubuntu / Linux natywnie pod Windows. W witrynach firmy Microsoft faktycznie odnoszą się do wydania Windows Anniversary jako warunku wstępnego do uruchomienia systemu Windows Subsystem dla systemu Linux.
Jeśli jednak nie chcesz wydać 200 $ + na Windows 10 i masz starszy laptop z systemem Windows 8.1 64-bitowym, tak jak ja, i masz jeszcze starszy laptop z systemem Windows Vista 64-bitowym jak ja, to Cygwin jest odpowiedź.
Cygwin obsługuje więcej wersji systemu Windows, ponieważ ich listy witryn internetowych :
Można oczekiwać, że Cygwin będzie działał na wszystkich nowoczesnych, wydanych wersjach systemu Windows. Stan styczeń 2016 obejmuje Windows Vista, Windows Server 2008 i wszystkie nowsze wersje systemu Windows do Windows 10 i Windows Server 2016. 32-bitowa wersja Cygwin działa również w 32-bitowym środowisku WOW64 na wydanych 64-bitowych wersjach systemu Windows, 64 wersja bitowa oczywiście tylko w 64-bitowym systemie Windows.
Pamiętaj, że Cygwin może zrobić tylko tyle, ile obsługuje podstawowy system operacyjny. Z tego powodu Cygwin będzie zachowywał się inaczej i wykazywał różne ograniczenia w różnych wersjach systemu Windows.