La última versión de Windows 10 (2004) ha incluido por fin un kernel de linux dentro del sistema que está integrado bajo el nombre de Windows Subsystem for Linux. Básicamente se trata de un Kernel expuesto como un servicio de Windows (LxssManager). Las imágenes correspondientes a las distribuciones de Linux se instalan desde la Tienda de Microsoft, proporcionando al usuario un acceso a una consola bash tradicional. La segunda parte de esta integración es proporcionar acceso desde el sistema de ficheros mediante la URL \\wsl$ a la distribución. Por ejemplo en el caso de Ubuntu 20.04, el acceso sería \wsl$\Ubuntu-20.04 desde donde se accede a todo el directorio «/» de la distribución. El juguete se completa con el montaje de los discos Windows bajo el directorio /mnt: /mnt/c, /mnt/d, etc..
Hasta aquí lo básico, pero la ventaja está en como esto ayuda al desarrollo. La primera idea que viene a la cabeza es que se deben instalar todas las aplicaciones de tipo Desktop en la nueva distribución, pero la integración que propone Microsoft no va por ese camino. En cambio propone que desde herramientas instaladas en Windows se acceda a Linux en remoto, pero utilizando WSL. De esta manera en Visual Studio Code por ejemplo se puede «conectar» con WSL:
Una vez conectado, abrir un terminal, lanzaría un proceso bash sobre $HOME contando con las utilidades para configurar y generar el proyecto que se desee. Bastaría con instalar git, java, python, scala como en cualquier distribución. En definitiva la propuesta es instalar las herramientas de desarrollo basadas en línea de ejecución, en el subsistema Windows y dejar las herramientas gráficas en el entorno Windows.
Otra propuesta semejante la proporciona Docker. En este caso, tras la instalación en Windows, se puede exponer Docker a través de WSL integrado con Linux, permitiendo decidir que tipo de contenedores se quieren, y en especial estableciéndolo la base de Linux.
Con esta configuración se puede acceder desde VSCode y Docker instalados en Windows, pero preparados para ajustarse a Linux, permitiendo desplegar imágenes y aplicaciones basadas en Linux. Las herramientas de desarrollo se ejecutarían en Linux, como los comando git, docker, etc..
La instalación de WSL se resuelve activando el Subsistema Linux en las características de Windows (Panel de control -> Programas y Características -> Activar o desactivar las características de Windows), o desde PowerShell:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
wsl --set-default-version 2