Каковы различия между Windows Bash и Cygwin?
Новое обновление для Windows с «Linux» Bash является новым, но какие есть отличия от Cygwin, которые могут заставить вас выбрать одно из другого?
Каковы различия между Windows Bash и Cygwin?
Новое обновление для Windows с «Linux» Bash является новым, но какие есть отличия от Cygwin, которые могут заставить вас выбрать одно из другого?
Ответы:
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, узлов. и др. пакеты и проекты.
С момента написания вышеизложенного мы выпустили обновление для Windows 10 Creators, которое в массовом порядке улучшает совместимость WSL с МНОГИМИ инструментами, которые вы хотите / должны запустить.
Разработка также не прекращалась, и в течение последних нескольких месяцев мы выпускаем сборки Win10 Insiders на пути к выпуску Fall Creators Update (FCU) в октябре 2017 года.
В FCU мы добавляем возможность устанавливать и запускать несколько дистрибутивов одновременно: в настоящее время доступны Ubuntu, openSUSE и SLES, а Fedora и другие находятся в стадии разработки. WSL теперь также поддерживает последовательную связь USB, а также подключение USB-накопителей и сетевых ресурсов, а также дальнейшие улучшения наших системных вызовов, что улучшает совместимость с большим количеством инструментов.
Прошло очень много лет с тех пор, как сначала объявили и выпустили WSL, затем добавили поддержку нескольких дистрибутивов через магазин и объявили WSL v1.0 HTH.
На Build 2019 мы объявили о новом терминале Windows ( видео о сеансе терминала ) и WSL 2 ( здесь о сеансе WSL 2 ), который представляет совершенно новый подход к запуску Linux в Windows.
Для получения дополнительной информации и будущих обновлений обязательно посещайте блог командной строки Windows каждые две недели, где мы публикуем множество связанных новостей
Я использую 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.