Які відмінності між 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 та багато програм GUI. Існують такі обмеження, як жоден з звичних віртуальних каталогів ядра 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 секунд. Для порівняння це приблизно 1 1/2 секунди для того ж екрану сплеску в Ubuntu 16.04:
Cygwin має власну частку скарг на швидкість з Bash .
Відповідь тут рік, тому я думаю, що невелике оновлення в порядку. Якщо в Windows 10 Home, якщо це 32-бітна Windows, це означає, що вона не буде запускати 64-бітну підсистему Ubuntu / Windows, як нам розповідає Microsoft: ( підсистема Windows Linux в win10 HOME BASIC ).
Це як реалізація мрії під керуванням Ubuntu в Windows з її чудовою ігровою підтримкою для Nvidia, але перш ніж вичерпатись та придбати новий (або використаний) ноутбук, переконайтеся, що він має Windows 10 64 біт, а не 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-бітних Windows.
Майте на увазі, що Cygwin може робити лише стільки, скільки підтримує основна ОС. Через це Cygwin буде поводитися по-різному та матимуть різні обмеження для різних версій Windows.