Каковы различия между windows bash и cygwin?

37

В чем разница между windows bash и cygwin? Новое обновление из Windows с «linux» bash является новым, но какие различия существуют в Cygwin, который может заставить вас выбрать один за другим?

    
задан Martijn van Wezel 18.08.2016 в 17:36
источник

2 ответа

41

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 еще на ранней стадии своей реализации, мы прилагаем все усилия, чтобы улучшить широту и глубину наших реализаций syscall, чтобы постоянно улучшать способность WSL запускать все больший набор инструментов и поддерживать быстро растущее число Ruby, Java, узел и т. Д. Пакеты и проекты.

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

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

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

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

НТН.

    
ответ дан Rich Turner 19.08.2016 в 02:12
источник
4

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

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

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

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

Помните, что MS - закрытая система, и вы не получаете шквал третьих лиц, которые пишут обновления, как вам нравится в Linux. Но все, что вы считаете, покупаете новый ноутбук, и в любом случае он поставляется с Windows 10, поэтому вы можете сказать, что он «свободен» как минимум:)

Проблемы с производительностью

Вы увидите много жалоб на скорость WSL. Например, посмотрите, как требуется 4 секунды, чтобы открыть пользовательский терминал bash в Windows 10 по сравнению с & lt; 1 секунда в Ubuntu 16.04:

Я оставил исходную публикацию ниже для справки по истории.

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

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

Однако, если вы не хотите выкладывать $ 200 + для Windows 10, и у вас есть старший ноутбук под управлением Windows 8.1 64-разрядный, как и у меня, и у вас есть еще более старый ноутбук под управлением Windows Vista 64 бит, как я, то ответ Cggwin.

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

  

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

     

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

    
ответ дан WinEunuuchs2Unix 06.09.2017 в 01:29