WSL es una característica de windows 10 y en el momento vamos en la version 2, en general si tenemos habilitadas las actualizaciones de windows, podremos usar la ultima version estable, sin embargo recomiendo activar windows insider para estar al dia.
Windows Subsystem Linux
Windows subsystem linux es la forma de trabajar con un distro linux desde windows, es la iniciativa que Microsoft esta dirigiendo para mantener a los desarrolladores, en especial a los desarrolladores web trabajando con su sistema operativo.
WSL
no es una maquina virtual ya que por medio de la linea de comandos de nuestro distro linux podremos interactuar directamente con Windows, esto significa que podremos usar el bash y muchos comandos linux para interactuar con el sistema windows, trabajando igual que si estuviéramos en linux, sin embargo aun existen varias funcionalidades que no son soportadas.
Muchas herramientas de desarrollo son cross platform osea que están creados para que funcionen en diferentes sistemas operativos pero muchos otros más solo funcionan en linux y este es el principal motivo del gran esfuerzo de microsoft el cual constantemente esta generando nuevas características.
Instalar WSL
Podemos instalar WSL si poseemos un windows 10, con las actualizaciones mas recientes, sin embargo para tener lo ultimo que Microsoft puede ofrecer, recomiendo subscribirse a microsoft insider.
-
WSL es una característica de windows 10 la cual podemos habilitar corriendo el siguiente comando con nivel administrador:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
-
El comando anterior instala la version 1 de wsl, sin embargo debemos actualizar a la version 2 con el siguiente comando con nivel administrador:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
- Debemos reiniciar nuestra computadora.
-
Tenemos la opción de usar las dos versiones de wsl, se recomienda utilizar la ultima version por defecto.
wsl --set-default-version 2
Una vez instalado wsl debemos descargar una de las distribuciones que podemos encontrar en microsoft store (ubuntu, openSuse, debian etc.), esperamos la instalación y procedemos a crear un usuario y contraseña para nuestro distro.
Usar WSL
Una vez tenemos nuestro Linux, podremos buscarlo como una aplicación nueva en windows por ejemplo ubuntu, y este nos abrirá una consola donde podremos interactuar con nuestro linux por linea de comandos.
sudo apt-get update
Cuando iniciamos nuestra consola, por defecto empezamos a trabajar en el directorio /home/<username>
, y recomiendo crear nuestros proyectos desde este directorio para evitar los problemas de permisos si los abrimos desde otra ubicación, sin embargo si queremos explorar los proyectos que ya tenemos en nuestro disco podemos entrar a nuestro disco y cambiar los permisos según nuestra necesidades con chmod.
> ls /mnt # disk's list
> cd /mnt/c/Users/<user> # inside disk C://
Ahora podemos instalar diferentes programas que nos pueden ser de utilidad como desarrolladores:
-
Visual studio code, el cual automáticamente va a reconocer nuestro WSL si tenemos la ultima actualización, de lo contrario podemos buscar la extension.
-
Docker Desktop para windows, el cual con unas simples configuraciones va a funcionar con nuestro distro linux.
-
Si tenemos un repositorio o proyecto web lo debemos ejecutar como siempre y vamos a poder visualizarlo en el navegador en el mismo puerto, todo el proceso debe ser transparente.
Conclusiones
- Después de un tiempo trabajando desarrollo web y de API servers con wsl, hasta el momento no he encontrado ningún inconveniente, tal cual como trabajar en una instalación de linux en la maquina.
- Hoy en día prácticamente no uso mi instalación de linux gracias a wsl.
- Es una excelente opción si trabajas en una empresa donde se provee una computadora windows a la cual no podemos hacer modificaciones, y estamos acostumbrados a programar con un sistema operativo unix como los distros de linux y mac.
- Constantemente se agregan nuevas características para borrar la brecha que existe entre wsl y un linux real.
- Esta funcionalidad es muy apreciada por desarrolladores que saben trabajar con la linea de comandos y tiene conocimientos básicos en comandos linux, si eres un usuario que trabaja mas con interfaz gráficas puede ser un buen reto para el fin de semana.