11

Instalar una Interfaz Grafica de Ubuntu en Windows Subsystem for Linux 2

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:
instalando xcfe4.png
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:
terminal11.png

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:
terminal12.png

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

terminal3.png
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:
remoto1.png
En la ventana que se abre escribimos “localhost:3390” 3390 es el puerto que le indicamos al programa que utilizara.

remoto2.png
Nos saldrá una advertencia, seleccionamos la opción “Sí”

remoto3.png

En la siguiente ventana ingresamos nuestras credenciales de ubuntu (el usuario y la contraseña que configuramos cuando instalamos WSL2)

remoto4.png

¡¡¡LISTO!!! Ya tenemos nuestro escritorio remoto con Ubuntu en Windows gracias a WSL2, xrdp y xcfe4.

Screenshot_2020-12-27_12-52-06.png

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.

Escribe tu comentario
+ 2
Ordenar por:
4
14379Puntos
3 años

sudo apt install -y xfce4-goodies revisa ese comando porfavor tienes xcfe4

1
2327Puntos
3 años

estoy de acuerdo. Para los que hagan el paso a paso, mirar que es xfce4 no xcfe4 (primero la f que la c)

1
842Puntos
8 meses

Me funcionó a la perfección en Ubuntu 22.04.3 LTS

1
3Puntos
2 años

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.

1
10830Puntos
2 años

Al final me salió “login failed for display 0”, ¿qué puedo hacer?

1
2 años

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

0
10830Puntos
2 años

Tengo el mismo problema, ¿como lo solucionaste?

1
8544Puntos
2 años

Muchas gracias por compartir esto XD

1
2327Puntos
3 años

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