Poder usar una consola bash directamente en Windows 10 ya era estupendo, pero eso solo era el principio. Con la segunda versión del Windows Subsystem for Linux (WSL 2) Microsoft introduce mejoras muy importantes tanto en la experiencia de usuario como en su orientación a desarrolladores.
De hecho, WSL 2 permite soporte de aplicaciones gráficas, lo que permitirá que podamos utilizar aplicaciones gráficas tanto de Windows 10 como de Linux de forma combinada. No solo eso: las mejoras internas han hecho que las escrituras internas se aceleren de forma notable (hasta 20 veces más rápido, indican en Microsoft), algo que da alas especialmente a los desarrolladores.
Vivan las aplicaciones gráficas
La posibilidad de utilizar distribuciones Linux de forma nativa directamente en Windows 10 fue todo un bombazo. Nada de máquinas virtuales: de repente teníamos acceso a una consola de diversas distribuciones para poder trabajar en ellas de forma directa y sin cambio de contexto.
Esa capacidad se veía limitada por el hecho de que no había forma directa de poder utilizar aplicaciones con una interfaz gráfica de usuario (GUI): podíamos trabajar en consola con herramientas en modo texto sin problemas, pero las cosas se complicaban para aplicaciones con su propia interfaz de usuario.
Ha habido proyectos que han ofrecido esa opción, como x410, que es de pago, o VcXsrv o Xming, dos alternativas gratuitas que también ofrecían esa capacidad.
Ahora esas opciones podrían dejar de ser necesarias porque en WSL 2 —que de hecho se anunció hace un año, pero solo estaba disponible para Windows Insiders— Microsoft añade soporte para aplicaciones con GUI, lo que evitará la necesidad de contar con un servidor X externo.
Ese soporte del hardware gráfico también permitirá aprovechar la GPU de nuestro ordenador para procesos que aprovechan precisamente ese procesador específico: así, será posible utilizar aceleración hardware en diversos escenarios como el de la inteligencia artificial y el entrenamiento de sistemas de aprendizaje automático.
La experiencia de instalación de WSL se simplificará además pronto, y bastará ejecutar comandos 'wsl.exe -install' para poder acceder a todas las opciones que ofrece la ejecución de aplicaciones Linux en Windows.
Desarrolladores al poder
Además de esas novedades tan importantes para los usuarios finales que conozcan o quieran conocer el sistema Linux sin tener que instalar distribuciones de forma separada, WSL 2 incluye mejoras importantes a nivel interno.
I've been doing development in WSL2 for almost 3 month. Both c++ and web full stack with Docker. It's really great experience. Super optimized vm. 3-5 sec start. Fantastic resource management. Amazing speed. I've ditched my Mac for a PC :)
— Slava Senchenko (@slava_senko) 17 de mayo de 2020
Entre ellas destaca de forma clara el nuevo kernel integrado, completamente Linux, y del que ya hablamos hace tiempo. Con él se evita un componente que traducía las llamadas desde las APIs de Linux a las APIs del kernel de Windows NT integrado en Windows 10.
Con el nuevo kernel eso ya no es necesario, y las llamadas se realizan de forma directa y mucho más rápido: como explicaba este desarrollador, una de las claves está es que las escrituras y las llamadas a la función stat ralentizaban de forma importante cualquier ejecución de procesos Linux, pero eso cambia de forma notable con ese nuevo núcleo.
Ahora las operaciones en disco se han trasladado a una unidad virtual que actúa como una unidad de red, algo que hace que iniciar este entorno de trabajo tarde un poco más —unos milisegundos— para luego acelerar todas esas operaciones multiplicando hasta por 20 su velocidad según los responsables del proyecto.
The work @Microsoft has done for WSL2 is just incredible. The gain in speed and stability is really impressive. I spent my #Docker project under Ubuntu with WSL2 and i disable Hyper-V. Besides that, my IDE and git GUI open the project in a network directory without any slow-down.
— Vincent Cassiau (@VincentCassiau) 24 de marzo de 2020
Las pruebas extensivas pruebas llevadas a cabo en Phoronix demuestran que la mejora es sensible en diversos apartados, pero aplastantes "en cargas de trabajo con actividad notable del sistema de E/S o la red".
#WSL2 speed comparisons pic.twitter.com/BkDy2mgC0P
— Pengwin (@PengwinLinux) 7 de mayo de 2019
Los comentarios en redes como Twitter o en artículos de desarrolladores independientes son inequívocos: las ventajas de WSL 2 en ámbitos como el trabajo con contenedores (Docker/Kubernetes) son muy importantes, y parece que aquí Microsoft ha logrado vencer y convencer.
Got #WSL2 running on my laptop. Compiling my blog with `bundle exec jekyll build`...
— Dave Rupert (@davatron5000) 18 de junio de 2019
WSL1: 7.853 seconds
WSL2: 0.567 seconds
😱😱😱
Para poder hacer uso de WSL2 necesitaremos una versión de Windows 10 que sea la 18917 o mayor (podemos comprobarlo ejecutando el comando "ver" en una consola de comandos CMD). De momento solo los usuarios en el anillo rápido pueden acceder a esas versiones, pero la actualización de mayo de 2020 que se está desplegando y se acabará de desplegar en las próximas semanas hará que cualquier usuario pueda acceder a WSL e instalarlo (o actualizar de WSL a WSL 2) siguiendo las instrucciones de Microsoft.
Más información | Microsoft
Ver 55 comentarios