Instalación de WSL

Tradicionalmente, Windows ha proporcionado a sus usuarios una interfaz de línea de comandos que funciona bajo su propio sistema, heredado de MS-DOS y diferente a GNU/Linux, el cuál se basa en un sistema UNIX. Sin embargo, en Windows 10, con la irrupción de Windows Subsystem for Linux (más comunmente denominado WSL), esto ha cambiado radicalmente.

Otros sistemas operativos como GNU/Linux o Mac, disponen de una interfaz de línea de comandos basada en UNIX, por lo que hasta el momento era bastante complejo tener compatibilidad entre sistemas. Con la adopción de WSL en Windows, Microsoft introduce una capa intermedia que funciona con un núcleo de Linux real (kernel) y en el que se pueden instalar distribuciones de GNU/Linux (desde la tienda oficial de Microsoft o de forma manual) como por ejemplo Ubuntu, Debian, Kali o incluso la distribución minimalista Alpine.

Requisitos previos

Para poder disponer de una terminal de GNU/Linux en nuestro Windows, antes necesitamos asegurarnos que nuestro equipo cumple los siguientes requisitos:

  • Necesitaremos soportar y tener activada la virtualización Hyper-V en la BIOS/UEFI.
  • Necesitaremos tener Windows 10, en cualquiera de sus versiones (salvo Windows S).
  • Debemos tener la característica Windows Subsystem for Linux activada.
  • Debemos tener la característica Virtual machine plataform activada.
  • Para usar WSL2 debemos actualizar Windows 10 al menos hasta Mayo de 2020.

Activación de características

En la BIOS/UEFI del equipo, debes tener activada la característica Virtualización Hyper-V o Hyper-threading virtualization. Dicha característica puede encontrarse en un menú diferente, dependiendo de la marca y modelo de la placa.

Por otro lado, para activar las características mencionadas anteriormente en Windows, accedemos a Inicio y buscamos Activar o desactivar características de Windows, donde encontraremos un menú de selección para activar las casillas Subsistema de Windows para Linux y Plataforma de máquina virtual:

Instalación de características para Windows Subsystem Linux (WSL)

La primera de ellas es absolutamente necesaria, puesto que es el propio WSL. La segunda de ellas es necesaria para utilizar WSL2, y es posible que no aparezca si no tienes Windows 10 actualizado. Puedes comprobarlo, accediendo a Inicio y abriendo una terminal de Windows escribiendo CMD o Símbolo de sistema y escribiendo lo siguiente:

> ver

Microsoft Windows [Versión 10.0.19041.329]

El comando ver nos mostrará la versión instalada de Windows 10. Si es igual o superior a 10.0.19041, podremos utilizar WSL2, en caso contrario, es posible que no podamos utilizar WSL o sólo WSL1. Para solucionarlo, revisa las actualizaciones de Windows e instala las que tengas pendientes.

Nota: También es posible comprobar que versión tenemos instalada pulsando +R y escribiendo winver. Si tenemos la versión 2004 o superior, podremos utilizar WSL2.

¿Qué distros tengo en WSL?

Windows Subsystem for Linux funciona de modo que podemos tener varias distribuciones instaladas en nuestro sistema y utilizar la que queramos. Para ver que distribuciones tenemos instaladas, abrimos una terminal de Windows (CMD) y escribimos wsl --list:

> wsl --list

El subsistema de Windows para Linux no tiene distribuciones instaladas.
Para instalar las distribuciones, se puede visitar Microsoft Store:
https://aka.ms/wslstore

En el caso de tener alguna distribución de Linux instalada, nos aparecerían en la lista, como veremos un poco más adelante.

Si en lugar de aparecernos el mensaje anterior nos muestra un error por no encontrar el comando wsl, muy probablemente no tengamos instalada la característica Windows Subsystem for Linux que mencionamos en el apartado anterior.

Instalar Linux (WSL)

El primer paso que deberíamos realizar es instalar una distribución de GNU/Linux en nuestro WSL. Existen muchas de ellas para elegir. Personalmente suelo elegir Debian, aunque también hay otras distribuciones:

Distribución Página oficial Enlace a tienda Microsoft Descarga manual (.appx)
Debian Linux Debian Debian MS Store Debian .appx
Ubuntu Linux Ubuntu Ubuntu MS Store Ubuntu 20.04 .appx
Kali Linux Kali Kali MS Store Kali Linux .appx
Open Suse Open Suse Open Suse MS Store Open Suse .appx
Alpine Linux ¹ Alpine Alpine MS Store

¹ No oficial.

Las distribuciones se pueden instalar automáticamente desde la tienda oficial de Microsoft, o manualmente, ejecutando un archivo .appx que contiene la distribución de Linux a instalar. Si lo hacemos de la primera forma, se instalará de forma transparente, si lo hacemos de la segunda forma, nos mostrará una ventana similar a la siguiente:

WSL: Instalación de Debian en Windows Subsystem Linux

Una vez instalada la distribución de Linux en nuestro sistema, tras esperar un corto espacio de tiempo, al iniciarla por primera vez nos aparecerá una ventana parecida a esta:

Installing, this may take a few minutes...
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username:

En ella, se nos preguntará el nombre de usuario y su correspondiente contraseña para utilizar en nuestra distribución de Linux de WSL. El nombre de usuario debe ser en minúsculas y no es necesario que coincida con el nombre que tengamos en nuestra cuenta de Windows.

Una vez hecho esto, escribimos exit (o cerramos la ventana y volvemos a abrir un símbolo del sistema). Vamos a comprobar que todo ha ido bien y tenemos una distribución instalada:

> wsl --list
Distribuciones del subsistema de Windows para Linux:
Debian (predet.)

Como se puede ver, en nuestro caso nos aparece una distribución Debian (marcada como predeterminada). Si instalasemos varias distribuciones las veríamos en esta lista, y podríamos seleccionar una como predeterminada escribiendo wsl --set-default Debian o wsl -s Debian.

Convertir distro WSL1 a WSL2

Por defecto, en nuestro Windows 10, actualmente las distribuciones se instalan como distros utilizando WSL1. Sin embargo, WSL2 está disponible y proporciona múltiples mejoras, ya que incorpora un kernel de Linux real utilizando Hyper-V, ofreciendo así un rendimiento más alto, a la vez que mejor soporte y compatibilidad.

Para aprovechar las últimas ventajas de WSL, es necesario convertir las distribuciones a WSL2, cosa que podemos hacer simplemente escribiendo wsl --set-version Debian 2, lo que convertirá nuestra distribución «Debian» a WSL2:

En el caso de que nos aparezca el error Habilita la característica Plataforma de máquina virtual de Windows y asegúrate de que la virtualización esté habilitada en el BIOS. revisa los puntos mencionados en el primer apartado de esta página.

Si todo ha ido bien, nos debería aparecer una pantalla similar a esta:

> wsl --set-version Debian 2
Conversión en curso, esto puede tardar unos minutos...
Para información sobre las diferencias clave con WSL 2, visita https://aka.ms/wsl2
Conversión completada.

En el caso de que nos aparezca el mensaje La distribución ya es la versión solicitada. significa que no se requiere conversión, ya que la distribución actual ya es WSL2.

Si estamos completamente seguros de querer que todas las distribuciones que utilicemos a partir de ahora sean WSL2, no tenemos más que escribir el comando wsl --set-default-version 2, que indicará a WSL que todas las distribuciones que utilicemos funcionen bajo WSL2 por defecto. De esta forma, el paso anterior no será necesario a partir de ahora.

Iniciar distro de Linux WSL

Hay que tener bien claro que bajo Windows, la terminal que utilizamos es cmd.exe o Símbolo de sistema, lo que nos arranca una interfaz de línea de comandos de Windows. Es en esta interfaz donde podemos ejecutar comandos de Windows como wsl u otros.

Para arrancar una distribución de Linux de las que hemos instalado, tendremos que acceder escribiendo wsl (para entrar en la distribución predeterminada) o escribiendo wsl -d Debian para indicar la distribución a la que queremos entrar, en el caso de tener varias.

Sin embargo, ya te habrás dado cuenta que la terminal de Windows (CMD) es bastante pobre y limitada, sobre todo en cuanto a características de personalización. La mejor opción, ahora que tenemos WSL, es instalar un buen y moderno emulador de terminal, que nos de una buena experiencia al utilizar la terminal.

Algunos de los mejores emuladores de terminal para Windows son los siguientes:

Emulador GitHub Descripción
Terminal GitHub Nueva terminal oficial de Microsoft.
ConEmu GitHub ConEmu-Maximus5, potente emulador de terminal ultra-personalizable.
Cmder GitHub Fork de ConEmu, orientado a usabilidad y aspecto visual.
Hyper GitHub Emulador de terminal basado en Electron.
wsl-terminal GitHub Emulador de terminal diseñado especialmente para WSL.
ConsoleZ GitHub Fork de Console2, orientado en una mejor experiencia visual.
FluentTerminal GitHub Emulador de terminal construída como aplicación universal de Windows (UWP).
Terminus GitHub Emulador de terminal moderno y visual.

Personalmente, mi preferido es ConEmu, el cuál tiene multitud de opciones de personalización y permite configurar prácticamente cualquier aspecto del mismo, como por ejemplo, crear una tarea llamada {Shells::WSL} que ejecute wsl.exe al abrir la terminal, y así utilice directamente la distribución de Linux por defecto de WSL.

Convertir rutas Windows a WSL

Si lo necesitas, WSL incorpora un comando llamado wslpath, que te permite hacer traducciones de rutas Windows a rutas Linux y viceversa. Para ello, solo tienes que escribir el comando wslpath RUTA_WINDOWS para obtener la misma ruta en formato Linux, o al contrario, escribir el comando wslpath -w RUTA_LINUX para obtener la ruta en formato Windows:

WSL: wslpath

Esto puede ser una forma interesante para intercomunicar ambos sistemas mediante scripts o tareas.

Manz
Publicado por Manz

Docente, divulgador informático y freelance. Autor de Emezeta.com, es profesor en la Universidad de La Laguna y dirige el curso de Programación web FullStack y Diseño web FrontEnd de EOI en Tenerife (Canarias). En sus ratos libres, busca GIF de gatos en Internet.