Hoy aprenderemos como instalar una interfaz grafica para ubuntu desde WSL2 (Windows Subsystem for Linux 2).
Esto lo haremos con xrdp que es una implementación gratuita y de código abierto del servidor RDP de Microsoft que permite a los sistemas operativos que no sean Microsoft Windows proporcionar una experiencia de escritorio remoto totalmente funcional compatible con RDP.
Para esto debemos tener instalado WSL2 con su distribución linux ubuntu, esto nos lo explica detalladamente el [](Curso de Prework: Configuración de Entorno de Desarrollo en Windows).
Lo primero que debemos hacer es revisar si hay actualizaciones pendientes en nuestra terminar y de ser así, actualizar todo, esto lo hacemos con el siguiente comando:
sudo apt update && sudo apt -y upgrade
Ahora instalamos xrdp:
sudo apt-get install xrdp
Luego instalamos un entorno de escritorio libre para sistemas tipo Unix como GNU/Linux, entre otros. Esto con el objetivo de que sea rápido y ligero, sin dejar de ser visualmente atractivo y fácil de usar. Utilizaremos Xcfe4, procedemos a instalarlo:
sudo apt -y install xfce4
luego nos preguntara que display manager estableceremos con default:
podemos instalar cualquiera de los dos, pero en mi caso yo elegí el gdm3.
Adicional a esto instalaremos xfce4-goodies que es un proyecto que aporta software adicional que esta relacionado con el escritorio Xcfe4 pero no lo incluye el lanzamiento oficial.
sudo apt install -y xcfe4-goodies
Ya tenemos los programas necesarios, ahora procedemos a configurarlos.
El primer paso es crear un respaldo (backup) del archivo xrdp.ini, en caso de que luego de configurarlo arroje un error, poder volver al inicio y empezar de nuevo, para esto ejecutamos el siguiente comando:
sudo cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.bak
Una vez realizado el archivo de backup , vamos a cambiar el puerto que utiliza XRDP por default, porque en algunas ocasiones WSL2 utiliza este puerto y puede generar conflictos, para evitar eso ejecutamos el siguiente comando para cambiar el puerto de 3389 a 3390:
sudo sed -i's/3389/3390/g' /etc/xrdp/xrdp.ini
Ahora cambiamos los bits per pixel (bpp) para que se vea un poco mejor la interfaz, esto no afecta mucho el rendimiento ya que corre en local, pero de igual manera se puede jugar con estos valores para que se adapte de mejor manera. Para esto ejecutamos estos dos comandos:
sudo sed -i's/max_bpp=32/#max_bpp=32\nmax_bpp=128/g' /etc/xrdp/xrdp.ini
sudo sed -i's/xserverbpp=24/#xserverbpp=24\nxserverbpp=128/g' /etc/xrdp/xrdp.ini
Una vez realizado todo eso, procedemos a guardar la sesión en el archivo .xsession
echo xcfe4-session > ~/.xsession
Por ultimo, debemos modificar un archivo para que la interfaz inicie con xcfe4 y no con xsession, para esto entramos a nuestro editor de código en la terminal:
sudo nano /etc/xrdp/startwm.sh
Luego nos desplazamos hasta el final del archivo y ubicamos las ultimas dos líneas:
Comentamos esas dos líneas al final colocándoles al principio el signo hash (#) y escribimos dos líneas adicionales para indicarle que inicie con xcfe4:
# xcfestartxfce4
Quedando las dos líneas comentadas y agregando las dos líneas adicionales, debe quedar como se ve en la siguiente imagen:
Para salir del editor de texto, presionamos Ctrl + x, luego presionamos “y” para guardar los cambios y presionamos Enter para salir.
Ya tenemos lista toda la configuración, ahora vamos a iniciar nuestro servidor local con el siguiente comando:
sudo /etc/init.d/xrdp start
Cuando nos salga el mensaje de que se inicio el escritorio remoto, el siguiente paso es conectarlo con el cliente de escritorio remoto de Windows, para eso abrimos el cliente de escritorio remoto de Windows:
En la ventana que se abre escribimos “localhost:3390” 3390 es el puerto que le indicamos al programa que utilizara.
Nos saldrá una advertencia, seleccionamos la opción “Sí”
En la siguiente ventana ingresamos nuestras credenciales de ubuntu (el usuario y la contraseña que configuramos cuando instalamos WSL2)
¡¡¡LISTO!!! Ya tenemos nuestro escritorio remoto con Ubuntu en Windows gracias a WSL2, xrdp y xcfe4.
Espero que les sirva muchísimo este tutorial y cualquier duda que tengan estaré pendiente en los comentarios. Si tienen alguna forma mejor de hacerlo compártanla con la comunidad para ampliar el conocimiento, esta fue la manera mas sencilla que conseguí de hacerlo.
sudo apt install -y xfce4-goodies revisa ese comando porfavor tienes xcfe4
estoy de acuerdo. Para los que hagan el paso a paso, mirar que es xfce4 no xcfe4 (primero la f que la c)
Me funcionó a la perfección en Ubuntu 22.04.3 LTS
It only works with Ubuntu 20.04, with Ubuntu 22.04 it doesn’t work. In Ubuntu 22.04 when executing the command 'sudo apt -y install xfce4’ you do not get the ‘Configuring Lightdm’ screen, there you realize that things have not gone well.
Al final me salió “login failed for display 0”, ¿qué puedo hacer?
sudo cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.bak tengo error en cuanto a esto no me deja hacer copia de seguridad y tampoco me aparecio esa pantalla del paso 4
estoy en windows 10 y ya instale el wsl con todo los updates
Tengo el mismo problema, ¿como lo solucionaste?
Muchas gracias por compartir esto XD
Excelente, si me hacía falta una interfaz gráfica en mi wsl2. Ocupo utilizar ros (ros org) y quería ver ciertos componentes visuales y no hallaba cómo. Me salvaste, te debo una