Windows Subsystem for Linux (WSL)

Windows y Linux son los sistemas operativos más utilizados del mundo, pero no podrían ser más diferentes: Windows es un producto comercial de Microsoft, una de las mayores empresas de software, mientras que Linux es un “Free and Open Source Software” (FOSS): una obra común realizada por miles de voluntarios.

Windows se utiliza sobre todo en entornos privados y empresariales. Linux, en cambio, se utiliza en servidores y ordenadores de profesionales y de particulares con interés por el tema. En especial, muchos programadores utilizan Linux. Además, el sistema operativo abierto también es la base del sistema operativo móvil Android.

Con el subsistema de Windows para Linux (WSL), los usuarios de Windows disfrutan con relativamente poco esfuerzo de acceso libre a miles de paquetes de software y herramientas de código abierto. Hasta el momento era necesario recurrir a una máquina virtual o reiniciar el ordenador en un entorno dedicado Linux Dual Boot para lograrlo, pero con WSL un par de clics son suficientes.

¿Qué es Windows Subsystem for Linux?

Windows Subsystem for Linux es una capa de compatibilidad que permite ejecutar programas nativos Linux directamente desde la línea de comandos de Windows. En concreto, WSL permite ejecutar archivos binarios Linux de 64 bits en “Executable and Linkable Format” (ELF) estándar.

El subsistema de Windows para Linux está disponible a partir de la versión Windows 10. Sin embargo, el interés de Microsoft por facilitar a los usuarios de Windows el trabajo con las herramientas de Linux desde el entorno de escritorio habitual se remonta a tiempo atrás: WSL surgió del proyecto “Microsoft Windows Services for UNIX” (SFU / Interix), que a su vez era un eslabón de desarrollo más del subsistema POSIX ya integrado en Windows NT. Este desarrollo continúa con el Windows Subsystem for Linux 2 (WSL2).

Antes de la aparición de WSL, a los usuarios les suponía bastante esfuerzo combinar los mejores aspectos de los universos Windows y Linux. Había dos vías fundamentales para conseguir que los programas de Linux fueran viables con Windows:

  1. La utilización de una máquina virtual. Para hacerlo, se realiza una instalación completa de Linux como ordenador virtual en Windows. Este planteamiento es bastante sencillo y permite la utilización completa de cualquier aplicación Linux, aunque se requieren algunos recursos de hardware. Además, el intercambio entre los programas en ejecución de ambos sistemas operativos solo es posible de manera limitada.
  2. La utilización del entorno de tiempo de ejecución Linux Cygwin. Este se instala en Windows y permite la utilización de numerosos programas populares de Linux. Con Cygwin, el intercambio entre programas Windows y Linux solo es posible de manera limitada.

Además, los usuarios podían configurar Linux de manera paralela a la instalación existente de Windows. Con esta configuración, conocida como Dual-Boot, es necesario, sin embargo, reiniciar el ordenador para cambiar al sistema operativo correspondiente. Por lo tanto, el intercambio entre los programas en ejecución de Windows y Linux no es posible.

Windows Subsystem for Linux no incluye máquina virtual y, por lo tanto, ofrece un alto rendimiento. No obstante, tampoco cuenta con un núcleo completo de Linux, por lo que no todas las aplicaciones son compatibles. En concreto, WSL no permite por sí mismo la ejecución de programas Linux con interfaz gráfica de usuario (GUI). También existen otros planteamientos para este escenario de utilización, pero requieren más pasos para instalarse y configurarse.

¿Cuáles son los requisitos para la utilización de WSL?

No se necesita ningún sistema en especial para utilizar el Windows Subsystem for Linux. El único requisito es que el ordenador cuente con un procesador x64 o ARM, algo que se da en prácticamente todos los sistemas modernos. Además, se requiere la versión Windows 10 de 64 bits 1709 o superior. Si no estás seguro de qué versión y edición de Windows utilizas, lo puedes comprobar siguiendo estos pasos:

  • Pulsa el [símbolo de Windows] + [R], introduce “winver” en el campo de texto que aparece y pulsa [Intro].
  • También lo puedes consultar haciendo clic en “Inicio” > “Configuración” > “Sistema” > “Acerca de” > “Especificaciones de Windows”.

¿Cómo se activa / instala Windows Subsystem for Linux?

El proceso para activar Windows Subsystem for Linux en el sistema requiere muy pocos pasos. Aquí te mostramos el proceso para usuarios particulares:

  1. Haz clic en “Inicio” > “Panel de control” > “Programas y características” > “Activar o desactivar las características de Windows”.
  2. Marca la casilla de “Subsistema de Windows para Linux”.
  3. Reinicia el ordenador.
  4. Abre Microsoft Store y busca “Linux”. Se mostrará una serie de aplicaciones de Linux disponibles.
  5. Haz clic en la distribución Linux deseada y después en “Instalar”. Si no estás seguro de qué distribución es la correcta para ti, te recomendamos la instalación de “Ubuntu Linux”.
  6. Una vez finalizada la instalación, haz clic en “Abrir”.
  7. En la ventana que aparece, se descargan y descomprimen algunos paquetes de inicio. Esto puede durar unos minutos. A continuación, se solicitará que indiques un nombre de usuario y la correspondiente contraseña para la instalación de Linux.
Nota

Con WSL puedes ejecutar varias aplicaciones Linux de manera paralela. Si quieres hacerlo, deberás crear una cuenta de usuario independiente para cada distribución.

Como alternativa a los primeros pasos también puedes utilizar el siguiente comando PowerShell para activar el Windows Subsystem for Linux. Ten en cuenta que deberás ejecutar el comando como administrador. Tras la ejecución, reinicia el ordenador y sigue las instrucciones a partir del punto 4.

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

¿Cuáles son los primeros pasos con Windows Subsystem for Linux?

Los pasos a seguir después de la activación de Windows Subsystem for Linux y la instalación de una distribución Linux dependen en gran parte del objetivo para el que se va a utilizar WSL. Un desarrollador web requiere generalmente un perfil de aplicación diferente al de un desarrollador de aplicaciones. Aquí hemos resumido algunos de los primeros pasos más habituales.

Mostrar y manejar las aplicaciones Linux

La herramienta Windows “wsl.exe” permite controlar desde la línea de comandos las aplicaciones Linux instaladas. Abre la línea de comandos e introduce la orden para visualizar las opciones disponibles del comando “wsl”:

wsl --help
Consejo

Consulta la referencia de comandos Windows Subsystem for Linux oficial de Microsoft para profundizar en la materia.

Mostrar la distribución Linux instalada con el subsistema de Windows para Linux

Con ayuda del Windows Subsystem for Linux es posible instalar y utilizar varias aplicaciones Linux. Ejecuta el siguiente comando en la línea de comandos para obtener una visión general de las aplicaciones instaladas:

wsl --list --verbose

Abrir la distribución Linux predefinida con el subsistema de Windows para Linux

Para abrir la distribución Linux establecida por defecto, basta con ejecutar el comando “wsl” sin ningún otro parámetro:

wsl

Al hacerlo, quedarás registrado como usuario Linux y podrás acceder directamente a los comandos de Linux conocidos.

Mantener la distribución Linux actualizada con WSL

Tan pronto como te hayas registrado por primera vez con tu distribución Linux, deberás actualizar los paquetes de software instalados. Utiliza para ello el siguiente comando:

sudo apt update && sudo apt upgrade

Puesto que se trata de una operación que afecta a todo el sistema a nivel de Linux, el comando comienza por “sudo”. Durante la instalación de la distribución Linux deberás introducir la contraseña establecida.

Instalar Git con Windows Subsystem for Linux

Git es una herramienta muy extendida para la creación de versiones de proyectos de código. Para instalar Git dentro de la distribución de Linux deberás utilizar el siguiente comando:

sudo apt install git

Ejecutar herramientas Linux desde Windows con Windows Subsystem for Linux

Ya hemos visto cómo puedes iniciar sesión en la distribución de Linux con ayuda de la herramienta “wsl” para después poder utilizar los comandos Linux. Sin embargo, también hay una vía alternativa. También puedes ejecutar comandos Linux desde Windows Shell. Esto puede ser práctico, por ejemplo, para utilizar comandos Linux en scripts PowerShell. Solo tienes que adjuntar el comando Linux deseado en la activación de la herramienta “wsl”:

# Utilizar el comando Linux “Is” para emitir el contenido del directorio actual
wsl ls -la

Utilizar las herramientas de Windows de la línea de comandos Linux con Windows Subsystem for Linux

Como hemos visto, con ayuda del comando Linux “wsl” es posible ejecutar scripts PowerShell directamente a partir de la línea de comandos de Windows, pero también funciona a la inversa: puedes utilizar las herramientas de la línea de comandos de Windows en la línea de comandos de Linux o en los scripts de Linux. Las herramientas de la línea de comandos se pueden combinar como comandos regulares de Linux.

Aquí utilizamos la herramienta de Windows “ipconfig.exe” para mostrar informaciones de red en combinación con dos herramientas de Linux: “grep” para filtrar los resultados Ipv4 y “cut” para eliminar los campos de la columna:

ipconfig.exe | grep IPv4 | cut -d: -f2

¿Cómo se utiliza el subsistema de Windows para Linux?

WSL sirve principalmente para utilizar comandos de Linux en la línea de comandos y en los scripts. Además, es posible vincular herramientas Windows y Linux entre sí. Por lo tanto, WSL es interesante sobre todo para programadores. La activación de WSL facilita especialmente el desarrollo web y la programación de código abierto. Por ejemplo, con Windows Subsystem for Linux activado es posible:

  • Instalar una o varias aplicaciones Linux de Microsoft Store.
  • Utilizar las herramientas para la línea de comandos más populares, como “grep”, “sed” y “awk”.
  • Ejecutar otros archivos binarios ELF-64.
  • Ejecutar scripts para Bash Shell y otros entornos Shell.
  • Utilizar aplicaciones basadas en terminal como “vim”, “emacs” y “tmux”.
  • Utilizar idiomas de programación y sus herramientas correspondientes: por ejemplo, NodeJS, Javascript, Python, Ruby, C/C++, C# & F#, Rust, Go, etc.
  • Ejecutar servicios Linux en el ordenador: por ejemplo, SSHD, MySQL, Apache, lighttpd, MongoDB, PostgreSQL, etc.
  • Instalar software adicional con el gestor de paquetes de la distribución Linux.
  • Ejecutar aplicaciones Windows con ayuda de una línea de comandos similar a Unix.
  • Ejecutar aplicaciones Linux en Windows.
Servidores virtuales VPS
Virtualización completa con acceso root
  • Ancho de banda de hasta 1 Gb/s y tráfico ilimitado
  • Almacenamiento SSD NVMe ultrarrápido
  • Incluye: edición Plesk Web Host
¿Le ha resultado útil este artículo?
Utilizamos cookies propias y de terceros para mejorar nuestros servicios y mostrarle publicidad relacionada con sus preferencias mediante el análisis de sus hábitos de navegación. Si continua navegando, consideramos que acepta su uso. Puede obtener más información, o bien conocer cómo cambiar la configuración de su navegador en nuestra. Política de Cookies.
Page top