Levantar en Windows10 programas de Linux con interfáz gráfica

Si tienes instalada alguna distribución de Linux en Windows10 usando WSL1 o WSL2, o si te has conectado a una máquina remota mediante SSH con la opción -X, podrás abrir cualquier interfáz gráfica sólo si instalas un intérprete de X11 para Windows como Xming o VcXsrv y configuras algunas opciones en tu ventana de Linux (WSL).

1. Instalación de intérprete de X11

Lo primero es elegir el programa que interpretará la interfáz gráfica de Linux en Windows. Es un programa que se ejecuta en Windows cada vez que vas a ejecutar una aplicación gráfica en tu ventana linux WSL.

Dos opciones:

VcXrv es un programa más actualizado, más fácil de configurar, pero no se pueden programar los comandos.
Descargar desde este link instalarlo
Al ejecutarlo, presionar "siguiente" hasta la última pantalla donde tendrán que marcar "disable access control".
Esto, cada vez que lo ejecuten (por eso no me gusta).

Xming es un programa algo antiguo pero funcional... yo lo prefiero.
Descargar desde este link instalarlo
Debes editar la línea de ejecución del acceso directo agregando algunas opciones (en esto te debo ayudar).
"C:\Program Files (x86)\Xming\Xming.exe" :0 -clipboard -multiwindow -xkbmodel pc105 -xkblayout latam -a
Este cambio se hace una vez y para siempre.

2. Ahora vamos a configurar nuestra terminal de Ubuntu WSL

Primero debes revisar qué versión de WSL tienes pues eso determina cuál comando tendrás que ejecutar.

  • PowerShell es una ventana de línea de comandos de Windows con capacidades mejoradas. La puedes encontrar en el menú de inicio. Elige la que dice «Windows PowerShell» y, antes de ejecutarla presionas el botón derecho sobre el programa y seleccionas «Ejecutar como Administrador»

Abre PowerShell como administrador y ejecuta lo siguiente:

wsl --list --verbose

Según el resultado tendrás que elegir alguno de los siguientes pasos y ejecutarlos en la terminal de Linux.

Si se usa WSL1:

En caso de desear que el cambio sea momentáneo:

export DISPLAY=localhost:0.0

En caso de desear que el cambio permanente (recomendado):

echo "export DISPLAY=localhost:0.0" >> ~/.bashrc
. ~/.profile

Si se usa WSL2:

En caso de desear que el cambio sea momentáneo:

export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null):0
export LIBGL_ALWAYS_INDIRECT=1

En caso de desear que el cambio permanente (recomendado):

echo "export DISPLAY=\$(awk '/nameserver / {print \$2; exit}' /etc/resolv.conf 2>/dev/null):0" >> ~/.bashrc
echo "export LIBGL_ALWAYS_INDIRECT=1" >> ~/.bashrc
. ~/.profile

Fuente1, Fuente2

3. Finalmente probamos que todo funciona

Una forma simpática de probar nuestro sistema es ejecutando la aplicación de linux xeyes la cual levantará una ventana con un par de ojos que siguen el movimiento de nuestro mouse.

Instalamos algunas aplicaciones básicas de Linux (xeyes, xcalc, etc..)

sudo apt install xapps

Ejecutamos VcXrv o Xming según lo que hayas instalado
(recuerda que en caso de VcXrv tendrás que marcar "disable access control")

Ahora, en nuestra terminal de linux ejecutamos xeyes

xeyes

Debieras ver un par de ojos que siguen los movimientos de tu mouse.

Para salir, puede cerrar la ventana de los ojos que se mueven, o ir a la ventana de linux y presionar ctrl+C (control + C) o, simplemente cerrar la ventana de linux.

Acá un listado de otras aplicaciones:

xmesagge "mi propio mensaje"
# display a message or query in a window (X-based /bin/echo)

xmore archivo.txt
# plain text display program for the X Window System

xlogo
# X Window System logo

xedit
# simple text editor for X

xcalc
# scientific calculator for X

xclock
# analog / digital clock for X

ocloc
# round X clock

xclipboard
# interchange between cut buffer and selection

xman
# Manual page display program for the X Window System

xgc
# X graphics demo

ico
# animate an icosahedron or other polyhedron

4. Tips VNC en Ubunti para X11

Edit and add to .vnc/xstartup

#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
startxfce4 &
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &

chmod 775 .vnc/xstartup

vnc4server -geometry 1024x768 -geometry 1600x900 -geometry 1366x768 -geometry 1280x1024
tigervncserver -geometry 1024x768 -geometry 1600x900 -geometry 1366x768 -geometry 1280x1024

xrandr -s 1600x900
vnc4server -kill :1

vncpasswd

Deja una respuesta

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.