Por si no sabes que es bash, déjame decirte que es probablemente el intérprete de comandos más querido del mundo, probablemente por su simpleza. Ahora está disponible en Windows 10 gracias a Anniversary Update via Ubuntu. Pero… ¿Cómo lo uso? ¿Qué implica instalar bash? ¿Cómo funciona? ¿Tendré alguna ventaja si uso, por ejemplo Cygwin?
Pero… ¿Cómo funciona?
¿Es una máquina virtual? ¿Es un contenedor? ¿Son una serie de herramientas de Linux recompiladas para Windows como Cygwin? Mucha gente, cuando empezaron los rumores creímos que sería una de estas tres opciones. Nos equivocamos completamente. Es mucho más alucinante.
Lo que hace Windows 10 para poder ejecutar bash, a modo de resumen, es traducir las syscalls de Linux a syscalls del kernel NT de Windows, haciendo que, literalmente, todo lo que hagamos en bash, todas las apps que ejecutemos y todo lo que se nos ocurra liar, ocurra de forma nativa en el kérnel de Windows 10.
Los programas compilados para Linux funcionarán sin problema en Windows, podrás usar apt-get para descargarlos e instalarlos y simplemente funcionarán. Podrás escribir (o traer) tus scripts bash de linux y ejecutarlos en Windows. Además todo se ejecutará tan rápido como si estuvieras usando linux de manera nativa.
Vale, me has convencido. ¿Cómo lo instalo?
Para instalarlo solo tenemos que seguir unos sencillos pasos que nos llevarán muy poco tiempo (dependiendo de nuestra conexión a internet). En primer lugar vamos a configuración a activar el modo desarrollador. Para que no pierdas tu tiempo por los menús de configuración te lo pongo muy sencillo: Pincha aquí, selecciona el modo de programador y cierra la ventana.
Una vez tengamos el modo de programador seleccionado procederemos a instalar Bash en Ubuntu en Windows. ¿Cómo lo hacemos? En primer lugar escribimos en cortana “Programas y características“ para luego hacer click en dicha opción. Una vez estemos en la ventana seleccionamos “Activar o desactivar características de Windows“, para buscar dentro Subsistema de Windows para Linux, activarla y esperar a que nos pida reinicio.
Por último, nos dirigiremos a la consola de Windows (Puedes escribir CMD en cortana) y una vez en ella escribimos bash, presionamos intro y tecleamos ‘y’ cuando se nos pida. En función de nuestra conexión a internet, tendremos en poco tiempo Bash sobre Ubuntu. En Windows.
Descubriendo bash
Al iniciar bash debemos saber algunas cosas. En primer lugar tendremos el sistema de archivos de ubuntu tal cual lo encontraríamos en una instalación estándard del mismo. Podemos instalar aplicaciones (o todo lo que queramos) dentro de el mismo, sin problema ninguno.
Sin embargo, si deseamos irnos al sistema de archivos de Windows, lo podemos encontrar montado en /mnt/, cada unidad con su correspondiente letra. Por ejemplo, para navegar a la unidad c, iremos a /mnt/c/. A partir de ahí podemos navegar e interactuar con todo el sistema de archivos de Windows.
Usos de bash en Ubuntu en Windows
El uso de bash en Ubuntu en Windows puede ser muy diverso. Por ejemplo, para usar git (mucho más comodo que la herramienta oficial de windows), Middleman, ruby, RVM… Si queríes probarlo por vosotros mismos, Dave Rupert os echa una mano en su página web (en inglés).
Pero no podemos dejar de nombrar los usos locos que esto tiene. Para empezar, recordemos que el loco de Guerra24 (Aquí su GitHub) ha conseguido nada más y nada menos que ejecutar el escritorio de Ubuntu de manera nativa (y virtualmente cualquiera) sobre Ubuntu… sobre Windows.
¿En qué acabará esto? Quién sabe. Una cosa sí me ha quedado clara. Estoy cansado de llamar al invento Bash on Ubuntu on Windows. Es muy largo. Ya que tenemos antencedentes con Windows on Windows, llamémosle simplemente BLoW.