Каковы различия между Windows Bash и Cygwin?

Каковы различия между Windows Bash и Cygwin?

Новое обновление для Windows с "Linux" Bash является новым, но какие есть отличия от Cygwin, которые могут заставить вас выбрать одно из другого?

2 ответа

Решение

Cygwin - отличный инструмент, если вы хотите жить полностью в Windows и хотите управлять / автоматизировать задачи Windows с помощью скриптов bash. Однако Cygwin не может запускать неизмененные двоичные файлы Linux.

Вот где вступает WSL:

Подсистема Windows для Linux (WSL) - это новый уровень ядра Windows, целью которого является обеспечение высокой степени совместимости с ядром Linux ABI. Это позволяет собственным немодифицированным двоичным файлам Linux ELF64 работать на WSL.

Именно так WSL может запускать подлинный пользовательский дистрибутив Ubuntu и любые пакеты, которые вы загружаете из apt-get или.deb из других источников, без каких-либо изменений.

Суть WSL заключается в том, чтобы позволить разработчикам, работающим на Windows, иметь возможность запускать многие из инструментов и работать над многими проектами, которые зависят от двоичных файлов Linux, функций, поведения, структуры файловой системы, модели процесса и т. Д.

Несмотря на то, что WSL все еще находится на ранней стадии реализации, мы прилагаем все усилия, чтобы улучшить охват и глубину наших реализаций системного вызова, чтобы постоянно улучшать способность WSL запускать все больший набор инструментов и поддерживать быстро растущее число Ruby, Java, узлов. и др. пакеты и проекты.


Обновление: 2017-09-07

С момента написания вышеизложенного мы выпустили обновление для Windows 10 Creators, которое в массовом порядке улучшает совместимость WSL с МНОГИМИ инструментами, которые вы хотите / должны запустить.

Разработка также не прекращается, и в течение последних нескольких месяцев мы выпускаем сборки Win10 Insiders на пути к выпуску Fall Creators Update (FCU) в октябре 2017 года.

В FCU мы добавляем возможность устанавливать и запускать несколько дистрибутивов одновременно: в настоящее время доступны Ubuntu, openSUSE и SLES, а Fedora и другие находятся в стадии разработки. WSL также теперь поддерживает последовательную связь USB, а также подключение USB-накопителей и сетевых ресурсов, а также дальнейшие улучшения наших системных вызовов, которые улучшают совместимость с большим количеством инструментов.


НТН.

Подсистема Windows для Linux

Я использую WSL под Windows 10 в течение нескольких месяцев. Наконец, я могу загрузиться в Windows для игр и получить доступ к приглашению bash, запустить CLI и многие программы с графическим интерфейсом. Есть ограничения, такие как ни один из знакомых виртуальных каталогов ядра Linux. Планирование требует совместного использования одного и того же сценария Bash между Ubuntu и WSL на машине с двойной загрузкой.

Есть много вещей, которые я хотел бы видеть улучшенными, но я могу жить с этим в течение года или около того.

Закрытый источник

Следует помнить, что Microsoft - это закрытая система, и третьи лица не могут создавать такие обновления, которые вам нравятся в Linux. Но, учитывая все обстоятельства, вы покупаете новый ноутбук, и он все равно поставляется с Windows 10, так что вы можете сказать, что он "бесплатный", по крайней мере:)

Cygwin контролируется Red Hat Linux, которая точно не известна тем, что раздает вещи бесплатно. Некоторым их "бесплатный" дистрибутив Linux Fedora кажется "полигоном".

Циклы обслуживания

Cygwin имеет 15 лет обновлений. Следует отметить тот же менеджер проекта, который работает с 2003 года. Есть много постоянных сопровождающих и гораздо больше добровольцев.

WSL предоставляет крупные обновления два раза в год каждую весну и осень. Еженедельные второстепенные обновления доступны для тех, кто находится в списке подписчиков для разработчиков. Несмотря на то, что у Microsoft есть ресурсы, позволяющие тысячам людей заняться разработкой WSL, похоже, что вы можете считать членов команды пальцами.

Проблемы со скоростью

Вы увидите много жалоб на скорость WSL. Например, рисование экрана в Windows 10 занимает намного больше времени, чем в Ubuntu 16.04, то есть вы действительно можете видеть движение курсора в Windows 10:

Для раскраски заставки WSL Bash требуется около 5 секунд. Для сравнения: для того же самого заставка в Ubuntu 16.04 составляет около 1 1/2 секунды:

У Cygwin есть своя доля жалоб на скорость с Bash.


Исходное размещение ниже для исторической справки.

Ответ здесь один год, поэтому я думаю, что небольшое обновление в порядке. В Windows 10 Home, если это 32-битная Windows, это означает, что она не будет работать с 64-битной подсистемой Ubuntu / Windows, как Microsoft говорит нам здесь: ( подсистема Windows Linux в win10 HOME BASIC).

Это похоже на воплощение мечты об использовании Ubuntu на Windows с превосходной игровой поддержкой Nvidia, но перед тем, как выбежать и купить новый (или подержанный) ноутбук, убедитесь, что у него 64-битная Windows 10, а не 32-битная домашняя версия, если Вы хотите запускать Ubuntu / Linux изначально под Windows. На веб-сайтах Microsoft они фактически ссылаются на выпуск Windows Anniversary как обязательное условие для запуска подсистемы Windows для Linux.


Однако, если вы не хотите выделять 200 долларов США для Windows 10 и у вас более старый ноутбук под управлением Windows 8.1 64-битный, как у меня, и у вас есть еще более старый ноутбук с Windows Vista 64-битный, как у меня, тогда Cygwin ответ.

Cygwin поддерживает больше версий Windows в виде списков своих веб-сайтов:

Можно ожидать, что Cygwin будет работать на всех современных выпущенных версиях Windows. Штат Январь 2016 г. включает Windows Vista, Windows Server 2008 и все более поздние версии Windows до Windows 10 и Windows Server 2016. 32-разрядная версия Cygwin также работает в 32-разрядной среде WOW64 на выпущенных 64-разрядных версиях Windows, 64 битная версия конечно только на 64 битной винде.

Имейте в виду, что Cygwin может делать только столько, сколько поддерживает соответствующая ОС. Из-за этого Cygwin будет вести себя по-разному и иметь разные ограничения в разных версиях Windows.

Другие вопросы по тегам