Cómo WSLg lleva las aplicaciones gráficas de Linux a Windows

WSLG - Windows Subsystem For Linux GUI - AlgoritmoX86

El Windows Subsystem for Linux (WSL) ha revolucionado la forma en que los desarrolladores y entusiastas de Linux trabajan en Windows, permtiendo ejecutar distribuciones de Linux directamente en Windows si necesidad de máquinas virtuales o configuraciones de arranque dual. Con la introducción de WSLg (Windows Subsystem for Linux GUI), Microsoft ha dado un paso más allá al habilitar el soporte para aplicaciones gráficas de Linux (tanto X11 como Wayland) en Windows, integrándolas de manera fluida en el escritorio. En este artículo, exploraremos qué es WSLg, cómo funciona, sus beneficios y cómo puede transformar tu flujo de trabajo.

¿Qué es WSLg?

WSLg, o Windows Subsystem for Linux GUI, es un componente de WSL diseñado para permitir la ejecución de aplicaciones gráficas de Linux en Windows de manera nativa. Esto significa que puedes abrir aplicaciones como GIMP, GNOME Text Editor, o incluso entornos de desarrollo integrados (IDEs) como gedit o JetBrains directamente desde tu distribución de Linux en WSL, y estas aparecerán como si fueran aplicaciones de Windows, integradas en el menú Inicio, la barra de tareas y con soporte para funciones como copiar/pegar entre aplicaciones de Windows y Linux.

El proyecto, disponible en el repositorio de GitHub de Microsoft, es de código abierto y utiliza tecnologías modernas como Wayland, XWayland, y FreeRDP para lograr una experiencia de usuario fluida y eficiente. WSLg está incluido de forma predeterminada en Windows 11 y en versiones recientes de Windows 10 (build 21364 o superior) a través de la instalación de WSL desde la Microsoft Store.

Repositorio de GitHub de WSLg Microsoft -> Link

Apps de linux en windows - WSLg - AlgoritmoX86

¿Cómo funciona WSLg?

El núcleo de WSLg es su capacidad para integrar aplicaciones gráficas de Linux en el escritorio de Windows. Esto se logra mediante una arquitectura que combina varios componentes clave:

Distribución de sistema WSLg

WSLg utiliza una distribución de Linux ligera basada en CBL-Mariner, una distribución personalizada de Microsoft diseñada para cargas de trabajo contenerizadas. Esta distribución de sistema aloja los servidores necesarios para las aplicaciones gráficas, incluyendo:

  • Weston: El compositor de referencia de Wayland, que actúa como el núcleo de la experiencia gráfica de WSLg. Weston maneja tanto aplicaciones Wayland como X11 (a través de XWayland) y utiliza un backend de RDP (Remote Desktop Protocol) mejorado para mostrar las aplicaciones en el escritorio de Windows.
  • XWayland: Permite la compatibilidad con aplicaciones basadas en X11, asegurando que incluso las aplicaciones más antiguas puedan ejecutarse en WSLg.
  • PulseAudio: Proporciona soporte para audio, permitiendo entrada y salida de sonido en aplicaciones Linux.
  • FreeRDP: Codifica la comunicación entre el servidor RDP (en Weston) y el cliente RDP en Windows, utilizando tecnologías como RAIL (Remote Application Integrated Locally) y VAIL (Virtualized Application Integrated Locally) para una integración fluida.

Variables de entorno preconfiguradas

WSLg configura automáticamente variables como DISPLAY, WAYLAND_DISPLAY y PULSE_SERVER en la distribución del usuario para que las aplicaciones gráficas se conecten a los servidores de la distribución de sistema sin intervención manual.

Soporte para GPU

WSLg permite el uso de una GPU virtual (vGPU) para acelerar el renderizado OpenGL, mejorando el rendimiento de aplicaciones gráficas intensivas. Microsoft recomienda instalar controladores específicos de GPU (como los de NVIDIA, AMD o Intel) para aprovechar esta funcionalidad.

Integración con el escritorio de Windows

Las aplicaciones Linux aparecen en el menú Inicio de Windows, se pueden alternar con Alt+Tab, y soportan funciones como copiar/pegar y configuraciones multimonitor, haciendo que se sientan como aplicaciones nativas de Windows.

Arquitectura de WSLG

Beneficios de WSLg

WSLg ofrece una serie de ventajas que lo convierten en una herramienta poderosa para desarrolladores, científicos de datos y entusiastas de Linux:

Flujo de trabajo unificado

Los desarrolladores pueden trabajar con herramientas de Windows y Linux en un solo sistema, eliminando la necesidad de máquinas virtuales pesadas o configuraciones de arranque dual.

Soporte para aplicaciones modernas y antiguas

Gracias a la compatibilidad con Wayland y X11 (a través de XWayland), WSLg puede ejecutar tanto aplicaciones modernas como aplicaciones heredadas de Linux.

Rendimiento optimizado

Con soporte para aceleración por GPU y una arquitectura ligera basada en CBL-Mariner, WSLg ofrece un rendimiento superior en comparación con soluciones tradicionales como servidores X11 independientes (como VcXsrv o Xming).

Integración nativa

Las aplicaciones Linux se integran perfectamente en el escritorio de Windows, lo que mejora la experiencia del usuario y la productividad.

Código abierto

Al ser un proyecto de código abierto, WSLg permite a la comunidad contribuir con mejoras y correcciones, asegurando una mayor compatibilidad con aplicaciones y una evolución constante.

Cómo empezar con WSLg

Para comenzar a usar WSLg, necesitas cumplir con algunos requisitos previos:

  • Sistema operativo: Windows 11 o Windows 10 (build 19044 o superior). Para obtener las últimas actualizaciones, se recomienda usar la versión de WSL disponible en la Microsoft Store.
  • WSL 2: WSLg solo funciona con WSL 2, por lo que debes asegurarte de que tu distribución de Linux esté configurada para usar esta versión. Puedes verificarlo con el comando:
wsl --list -v

Si tu distribución está en WSL 1, cámbiala a WSL 2 con:

wsl --set-version <distro_name> 2
  • Instalación de WSLg: Si no tienes WSL instalado, ejecuta el siguiente comando en una terminal de PowerShell con permisos de administrador:
wsl --install

Esto instalará WSL, WSLg y la distribución Ubuntu por defecto.

Si ya tienes WSL, actualízalo con:

wsl --update

Reinicia WSL para aplicar los cambios:

wsl --shutdown
  • Instalación de aplicaciones gráficas: Una vez configurado, puedes instalar aplicaciones gráficas en tu distribución de Linux. Por ejemplo, para instalar GIMP en Ubuntu:
sudo apt update
sudo apt install gimp

Luego, simplemente ejecuta gimp desde la terminal de Linux, y la aplicación aparecerá en el escritorio de Windows.

  • Soporte para GPU: Para un mejor rendimiento, instala los controladores de GPU recomendados por Microsoft (disponibles para NVIDIA, AMD e Intel) si tu sistema los soporta.

Si quieres aprender más sobre WSL aquí te dejo nuestra Guía Para iniciar con esta herramienta:

Limitaciones y consideraciones de WSLg

Aunque WSLg es una herramienta poderosa, tiene algunas limitaciones:

  • Sin experiencia de escritorio completa: No proporciona un entorno de escritorio completo como GNOME o KDE, sino que depende del escritorio de Windows para mostrar aplicaciones individuales.
  • Problemas de compatibilidad: Algunas aplicaciones, especialmente las más antiguas basadas en X11, pueden requerir ajustes en las variables de entorno (DISPLAY) para funcionar correctamente.
  • Rendimiento en sistemas sin GPU: Sin controladores de GPU instalados, el renderizado OpenGL puede depender de LLVMpipe, lo que reduce el rendimiento en aplicaciones gráficas intensivas.

Si encuentras problemas, puedes consultar la guía de diagnóstico en el repositorio de WSLg o reportar problemas directamente en GitHub. Link Repositorio.

Casos de uso Prácticos

WSLg es ideal para una variedad de escenarios:

  • Desarrollo de software: Ejecuta IDEs de Linux como gedit, JetBrains, o gvim para desarrollar y depurar aplicaciones en un entorno Linux sin salir de Windows.
  • Pruebas multiplataforma: Los desarrolladores pueden probar aplicaciones gráficas en Linux y Windows desde el mismo sistema, agilizando el desarrollo de aplicaciones multiplataforma.
  • Herramientas específicas de Linux: Usa herramientas como Nautilus (el administrador de archivos de GNOME) o Stacer (un optimizador de sistema para Linux) directamente en Windows.
  • Educación y aprendizaje: Los estudiantes y nuevos usuarios de Linux pueden experimentar con aplicaciones gráficas de Linux sin necesidad de instalar un sistema operativo completo.

Conclusión

WSLg representa un hito en la integración de Linux y Windows, ofreciendo a los usuarios una forma fluida y eficiente de ejecutar aplicaciones gráficas de Linux en el escritorio de Windows. Al aprovechar tecnologías modernas como Wayland, XWayland y FreeRDP, y con el respaldo de una comunidad de código abierto, WSLg no solo facilita la vida de los desarrolladores, sino que también abre las puertas a una mayor adopción de herramientas de Linux en entornos Windows.

Si eres un desarrollador, entusiasta de Linux o simplemente alguien curioso por explorar las capacidades de WSLg, te animamos a probarlo. Instala WSL, ejecuta tus aplicaciones favoritas de Linux y descubre cómo esta tecnología puede transformar tu flujo de trabajo. ¿Ya has probado WSLg? ¡Comparte tus experiencias en los comentarios!

Fuentes

Artículo sobre WSL y WSL2: WSL: La mejor forma de usar Linux en Windows

Repositorio oficial de WSLg en GitHub: microsoft/wslg

Documentación de Microsoft Learn: Run Linux GUI apps with WSL

Blog de Windows Command Line: WSLg Architecture

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *