Cómo ejecutar aplicaciones gráficas de escritorio de Linux desde el shell Bash de Windows 10
El shell Bash de Windows 10 no es oficialmente compatible con las aplicaciones gráficas de escritorio de Linux. Microsoft dice que esta característica está diseñada solo para desarrolladores que desean ejecutar utilidades de terminal de Linux. Pero el "Subsistema de Windows para Linux" subyacente es más poderoso de lo que Microsoft permite.
Es posible ejecutar aplicaciones gráficas de Linux en Windows 10, pero tenga en cuenta que no es oficialmente compatible. No todas las piezas de software de Linux funcionan, y las aplicaciones gráficas son aún más complejas y menos probadas. Pero estos deberían volverse más estables a medida que Microsoft mejore el Subsistema de Windows subyacente para Linux.
El shell Bash de Windows 10 solo admite binarios de 64 bits, por lo que no puede instalar y ejecutar el software Linux de 32 bits.
Como funciona esto
Primero, analicemos exactamente cómo funciona esto para que pueda comprender mejor lo que estamos haciendo aquí..
Windows 10 incluye un "Subsistema de Windows para Linux" subyacente que permite a Windows 10 ejecutar el software de Linux al traducir las llamadas del sistema Linux a las llamadas del sistema Windows.
Cuando ejecuta una distribución de Linux como Ubuntu, descarga e instala una imagen completa del espacio de usuario de Ubuntu en su computadora. Esto incluye exactamente los mismos binarios (o aplicaciones) que se ejecutarían en Ubuntu. Ese entorno "Bash en Ubuntu en Windows" funciona gracias al Subsistema de Windows subyacente para Linux.
Microsoft no quiere dedicar tiempo a trabajar en software gráfico, ya que esta función está diseñada para herramientas de desarrollo de línea de comandos. Pero la principal razón técnica por la que las aplicaciones gráficas no son compatibles es que requieren un "servidor X" para proporcionar esa interfaz gráfica. En un escritorio de Linux típico, ese "servidor X" aparece automáticamente cuando inicia su computadora y muestra todo el escritorio y las aplicaciones que usa..
Pero intente abrir una aplicación gráfica de Bash en Windows, sin embargo, se quejará de que no puede abrir una pantalla.
Sin embargo, hay aplicaciones de servidor X que puede instalar en un escritorio de Windows. Por lo general, se usan para hacer que las aplicaciones Linux se ejecuten en otras computadoras; el protocolo "X11" es bastante antiguo y se diseñó con la capacidad de ejecutarse a través de una conexión de red.
Si instala una aplicación del servidor X en su escritorio de Windows y cambia una configuración en el shell de Bash, las aplicaciones enviarán su salida gráfica a la aplicación del servidor X y aparecerán en su escritorio de Windows. Todo debería funcionar bien, asumiendo que esas aplicaciones no dependen de las llamadas del sistema Linux que el Subsistema de Windows para Linux todavía no admite.
Paso uno: instalar un servidor X
Hay varios servidores X diferentes que puedes instalar en Windows, pero recomendamos Xming. Descárgalo e instálalo en tu PC con Windows 10.
El proceso de instalación es simple: simplemente puede aceptar la configuración predeterminada. A continuación, se iniciará y ejecutará automáticamente en la bandeja del sistema, a la espera de que ejecute programas gráficos..
Paso dos: instalar el programa
Puede instalar programas de escritorio gráficos de Linux como puede hacerlo con cualquier otro programa, utilizando el comando apt-get en el entorno Bash basado en Ubuntu. Por ejemplo, supongamos que desea instalar el editor gráfico vim basado en GTK. Ejecutarías el siguiente comando en la ventana Bash:
sudo apt-get install vim-gtk
Pasará por el proceso de instalación en la ventana de línea de comandos, al igual que lo hace en Ubuntu.
Paso tres: establezca su variable de entorno de pantalla
Ahora, deberá configurar la variable de entorno "MOSTRAR" para que apunte al servidor X que se ejecuta en su PC con Windows 10. Si no haces esto, las aplicaciones gráficas simplemente no se ejecutarán.
Para hacer esto, ejecute el siguiente comando en el entorno Bash:
Export DISPLAY =: 0
Esta configuración solo se aplica a su sesión actual de Bash. Si cierras la ventana, Bash lo olvidará. Tendrá que ejecutar este comando cada vez que vuelva a abrir Bash y desee ejecutar una aplicación gráfica.
Paso cuatro: Iniciar una aplicación
Ahora puede simplemente iniciar una aplicación gráfica escribiendo el nombre de su ejecutable, como si escribiera cualquier otro comando. Por ejemplo, para lanzar vim-gtk, ejecutarías:
gvim
Es así de simple. Si la aplicación falla después de iniciarse, es posible que el Subsistema de Windows para Linux no admita las llamadas al sistema Linux que requiere. No hay mucho que puedas hacer al respecto. Pero inténtelo, y puede encontrar que las aplicaciones que necesita funcionan bastante bien.!
También puede combinar los pasos tercero y cuarto, si lo desea. En lugar de exportar la variable DISPLAY una vez para una sesión completa de shell Bash, simplemente ejecutaría una aplicación gráfica con el siguiente comando:
PANTALLA =: 0 comando
Por ejemplo, para lanzar gvim, ejecutarías:
PANTALLA =: 0 gvim
Recuerde, esto no es oficialmente compatible, por lo que puede encontrar errores con aplicaciones más complejas. Una máquina virtual es una solución más confiable para ejecutar muchas aplicaciones gráficas de escritorio de Linux en Windows 10, pero esta es una solución ordenada para algunas de las cosas más simples.