XRDP es una implementación de código abierto (Apache License 2.0) del protocolo RDP (Microsoft Remote Desktop Protocol) para servidores Linux. Gracias a esta adaptación puedes conectarte a servidores Linux mediante un cliente de escritorio remoto de Windows a la GUI del servidor. Por lo tanto, para poder utilizarlo en una debes tener instalado un entorno gráfico previamente. Te recomendamos utilizar XFCE, LightDM o KDE Plasma ya que es son más ligeros comparado gráficamente que GNOME o Unity.
El análogo de XRDP utiliza los protocolos TCP y UDP para la conexión, pero esta implementación únicamente TCP. Por ello, es importante reducir el tamaño de los paquetes. La optimización será un apartado para una buena experiencia de escritorio remoto y no recomendamos utilizar el módulo de sonido por ese motivo.
Por defecto, en las imágenes de Linux no incluyen ningún entorno gráfico, salvo la excepción de la Imagen preinstalada de Ubuntu Desktop con XFCE e XRDP instalado previamente que puedes utilizar directamente sin realizar ninguna acción previa (Cómo acceder por Escritorio Remoto a la imagen preinstalada de Ubuntu Desktop).
Pero si prefieres utilizar tu distribución favorita o otro entorno gráfico, en este artículo explicaremos cómo instalar XRDP en tu distro favorita entre las imágenes de Linux disponibles. Puedes utilizar este artículo para instalarlo en un Alma/Rocky Linux y desde CentOS 8, pero recuerda tener un mínimo de 10 GB de disco.
Instalación de interfaz y XRDP
Primero habilita el repositorio de PowerTools de RHEL:
# dnf -y install epel-release && dnf config-manager --set-enabled powertools
Luego podrás instalar el GUI (XFCE):
# dnf -y group install "xfce" && dnf -y install lightdm
También comprueba o activa Lightdm:
# systemctl enable lightdm
Primero habilita el repositorio de PowerTools de RHEL:
# dnf -y install epel-release && dnf config-manager --set-enabled powertools
Luego podrás instalar GUI (GNOME):
# dnf -y group install "Server with GUI"
Primero habilita el repositorio de PowerTools de RHEL:
# dnf -y install epel-release && dnf config-manager --set-enabled powertools
Luego podrás instalar GUI (Plasma):
# dnf -y group install "KDE Plasma Workspaces"
Una vez instalada la interfaz, instala el XRDP:
# dnf -y install xrdp xorgxrdp
Deberás realizar unos cambios en el archivo de configuración de XRDP, edítalo con nano (por ejemplo):
# yum install nano -y && nano /etc/xrdp/xrdp.ini
Tienes que descomentar las siguientes líneas (por la parte final):
[Xorg]
name=Xorg
lib=libxup.so
username=ask
password=ask
ip=127.0.0.1
port=-1
code=20
Mejorar la experiencia de XRDP (Opcional)
La implementación del RDP de XRDP no está tan optimizada cómo en Windows y únicamente utiliza paquetes TCP. Por ese motivo, en algunas ocasiones se puede apreciar latencia al utilizarlo, pero puedes mejorar la experiencia reduciendo la calidad de color y otras opciones.
Una configuración para mejorar el rendimiento, es reducir los máximos bits por pixel:
# sed -i 's/max_bpp=32/max_bpp=16/g' /etc/xrdp/xrdp.ini
También configurar máximos bits por pixel del servidor XRDP:
# sed -i 's/xserverbpp=24/xserverbpp=16/g' /etc/xrdp/xrdp.ini
Habilitar el autoarranque de xorg:
# sed -i 's/autorun=/autorun=Xorg/g' /etc/xrdp/xrdp.ini
Reducir la encriptación:
# sed -i 's/crypt_level=high/crypt_level=low/g' /etc/xrdp/xrdp.ini
En el mismo fichero de configuración puedes añadir después de "max_bpp", la variable "use_compression" con el siguiente valor:
use_compression=yes
De esta forma la calidad será de 16 bits por pixel aunque en el cliente RDP se haya indicado 32 bits de color. Mejorará la experiencia de fluidez de la conexión y el cambio de color no es tan significativo. También se utilizará una baja encriptación y compresión para optimizar cada paquete.
Creación de un usuario para el escritorio remoto
El acceso con el usuario root esta deshabilitado por defecto por seguridad, por lo tanto, puedes crear usuario adicional y asignarle una contraseña:
# adduser xrdpuser && passwd xrdpuser
También puedes darle permisos de sudo al usuario creado:
# usermod -aG wheel xrdpuser
Últimos pasos y comprobación del servicio
Posteriormente, deberás activar el servicio y reiniciarlo para efectuar los cambios en la configuración:
# systemctl enable xrdp && systemctl restart xrdp && systemctl status xrdp
También puedes comprobar que el servicio esta escuchando por el puerto por defecto:
# yum install net-tools -y && netstat -tulpn | grep 3389
Deberías obtener el siguiente resultado en el netstat:
tcp LISTEN 0 2 *:3389 *:* users:(("xrdp",pid=51341,fd=11))
Conectarse por Escritorio Remoto
Ahora que ya tendrás XRDP instalado, puedes entrar con el usuario que has creado desde cualquier cliente de escritorio remoto:
Intercambiar modos en la consola de emergencia (opcional)
Para utilizar en la consola de emergencia la interfaz gráfica:
# systemctl set-default graphical.target
Para intercambiar la consola a modo texto:
# systemctl set-default multi-user.target
Esperamos haberte ayudado con este artículo. Si te quedan dudas sobre esta u otra cuestión relacionada con tus servidores en Clouding, escríbenos a soporte@clouding.io. ¡Estamos para ayudarte! 😉