¿Cuáles son las diferencias entre Windows Bash y Cygwin?
La nueva actualización de Windows con "Linux" Bash es nueva, pero ¿qué diferencias hay en Cygwin que podrían hacer que elija una sobre la otra?
windows-subsystem-for-linux
Martijn van Wezel
fuente
fuente
Respuestas:
Cygwin es una gran herramienta si quieres vivir completamente en Windows y quieres manejar / automatizar tareas de Windows con scripts de bash. Sin embargo, Cygwin no puede ejecutar binarios de Linux no modificados.
Ahí es donde entra WSL:
El Subsistema de Windows para Linux (WSL) es una nueva capa del kernel de Windows que tiene como objetivo proporcionar un alto grado de compatibilidad con el kernel de Linux ABI. Esto permite que los binarios nativos, no modificados, ELF64 de Linux se ejecuten en WSL.
Así es como WSL puede ejecutar una distribución de usuario de Ubuntu original, y cualquier paquete que descargue de apt-get, o paquetes .deb desde otro lugar, sin ningún cambio.
El objetivo de WSL es permitir que los desarrolladores que trabajan en Windows puedan ejecutar muchas de las herramientas y trabajar en muchos proyectos, que dependen de los binarios, características, comportamientos, diseño del sistema de archivos, modelo de proceso, etc. de Linux.
Si bien WSL aún se encuentra en una etapa temprana de su implementación, estamos trabajando arduamente para mejorar la amplitud y profundidad de nuestras implementaciones de syscall para mejorar de manera constante la capacidad de WSL de ejecutar un conjunto cada vez mayor de herramientas y admitir un número cada vez mayor de nodos Ruby, Java , etc. paquetes y proyectos.
Actualización: 2017-09-07
Desde que escribimos lo anterior, hemos enviado Windows 10 Creators Update que mejora MASIVAMENTE la compatibilidad de WSL con MUCHAS de las herramientas que querrá / necesitará ejecutar.
El desarrollo también ha continuado sin cesar y hemos estado enviando compilaciones de Win10 Insiders en los últimos meses camino al envío de Fall Creators Update (FCU) en octubre de 2017.
En FCU, estamos agregando la capacidad de instalar y ejecutar más de una distribución lado a lado: Ubuntu, openSUSE y SLES están actualmente disponibles, con Fedora y otros en camino. WSL ahora también admite comunicaciones serie USB y el montaje de almacenamiento USB y recursos compartidos de red, junto con otras mejoras en nuestras llamadas al sistema que mejoran la compatibilidad con más herramientas.
Actualización: 2019-08-22
Han pasado un par de años muy ocupados desde que primero anunciamos y lanzamos WSL, luego agregamos soporte para múltiples distribuciones a través de la tienda y anunciamos WSL v1.0 HTH.
En Build 2019, anunciamos el nuevo Windows Terminal ( video de sesión de Terminal aquí ) y WSL 2 ( video de sesión de WSL 2 aquí ) que presenta un enfoque completamente nuevo para ejecutar Linux en Windows.
Para obtener más detalles y futuras actualizaciones, asegúrese de visitar el blog de Windows Command-Line cada dos semanas, donde publicaremos muchas noticias relacionadas.
fuente
Subsistema de Windows para Linux
He estado usando WSL en Windows 10 durante unos meses. Finalmente puedo arrancar en Windows para jugar y aún acceder al bash prompt y ejecutar CLI y muchos programas GUI. Existen limitaciones como ninguno de los directorios virtuales familiares del kernel de Linux. Se requiere planificación para compartir el mismo script Bash entre Ubuntu y WSL en una máquina de arranque dual.
Hay muchas cosas que me gustaría ver mejoradas, pero puedo vivir con eso tal como está durante un año más o menos.
Fuente cerrada
Una cosa para recordar es que Microsoft es un sistema cerrado, y no te molesta que terceros escriban actualizaciones como disfrutas en Linux. Pero considerando todas las cosas, compra una nueva computadora portátil y viene con Windows 10 de todos modos, por lo que podría decir que es "gratis" al menos :)
Cygwin está controlado por Red Hat Linux, que tampoco es conocido por regalar cosas gratis. Su distribución Linux "gratuita" Fedora parece ser un "campo de pruebas" para algunos.
Ciclos de mantenimiento
Cygwin tiene 15 años de actualizaciones. Cabe destacar que el mismo gerente de proyecto ha estado en funcionamiento desde 2003. Hay muchos encargados de mantenimiento a tiempo completo y muchos más colaboradores voluntarios.
WSL proporciona actualizaciones importantes dos veces al año cada primavera y otoño. Hay actualizaciones menores semanales disponibles para aquellos en la lista de suscripción de Desarrolladores. Aunque Microsoft tiene recursos para atraer a miles de personas al desarrollo de WSL, parece que puede contar a los miembros del equipo con los dedos.
Problemas de velocidad
Verás muchas quejas sobre la velocidad de WSL. Por ejemplo, la pintura de pantalla tarda muchas veces más en Windows 10 en comparación con Ubuntu 16.04, es decir, puede ver el movimiento del cursor en Windows 10:
La pantalla de inicio de WSL Bash tarda unos 5 segundos en pintarse. En comparación, es aproximadamente 1 1/2 segundos para la misma pantalla de inicio en Ubuntu 16.04:
Cygwin tiene su propia cuota de quejas de velocidad con Bash .
Publicación original a continuación para referencia histórica.
La respuesta aquí es de un año, así que creo que una pequeña actualización está en orden. Con Windows 10 Home, si es Windows de 32 bits, significa que no ejecutará el subsistema Ubuntu / Windows de 64 bits como Microsoft nos dice aquí: ( subsistema Windows Linux en win10 HOME BASIC ).
Es como un sueño hecho realidad ejecutar Ubuntu en Windows con su soporte de juegos superior para Nvidia, pero antes de que se agote y compre una computadora portátil nueva (o usada), asegúrese de que tenga Windows 10 de 64 bits y no la versión doméstica de 32 bits si desea ejecutar cosas de Ubuntu / Linux de forma nativa en Windows. En los sitios web de Microsoft, en realidad se refieren a la edición de aniversario de Windows como un requisito previo para ejecutar Windows Subsystem for Linux.
Sin embargo, si no desea pagar $ 200 + para Windows 10 y tiene una computadora portátil más antigua con Windows 8.1 de 64 bits como yo, y tiene una computadora portátil aún más vieja con Windows Vista de 64 bits como lo hago yo, entonces Cygwin es la respuesta.
Cygwin admite más versiones de Windows en sus listas de sitios web :
fuente