Cómo desplegar una VDI completa en Ubuntu Linux y ThinLinc: una alternativa a Windows Terminal Server
Introducción
Si está buscando una forma de configurar un escritorio remoto para sus empleados y necesita una alternativa a RDP en Linux, ThinLinc es una de las soluciones más estables para crear una infraestructura VDI.
ThinLinc es una solución profesional para organizar servidores de terminales basados en Linux de la empresa sueca Cendio, que lleva desarrollando soluciones para servidores de terminales desde 1992. A diferencia del VNC estándar, proporciona renderizado de gráficos de alta velocidad, soporte completo de sonido y reenvío de recursos locales (impresoras, tarjetas inteligentes, carpetas).
Principales características de la licencia:
- Versión gratuita: Totalmente funcional y gratuita para siempre para un máximo de 10 usuarios simultáneos. Ideal para pequeñas empresas o uso personal.
- Funcionalidad unificada: La versión gratuita no tiene limitaciones en cuanto a capacidades en comparación con la versión de pago.
- Compatibilidad con LDAP: Utilice usuarios de Active Directory para iniciar sesión en el servidor terminal.
- Licencias concurrentes: No se conceden licencias a los usuarios creados en el sistema, sino a las sesiones concurrentes.
Ejemplo: Usted puede tener 50 usuarios creados, pero si sólo 10 están trabajando al mismo tiempo, la versión gratuita es suficiente para usted.
Pila técnica de esta guía
Todas las acciones descritas en este manual se han validado utilizando la siguiente pila de software/hardware:
Componente |
Versión / Especificación |
Sistema operativo |
Ubuntu Server 24.04.3 LTS (Noble Numbat) |
Shell gráfico |
KDE Plasmashell 5.27.12 (paquete kde-standard) |
Servidor de terminales |
Cendio ThinLinc v4.20.0 |
Máquina virtual |
CPU de 4 núcleos, 8 GB de RAM, SSD NVMe |
Usuario |
Usuario estándar en el grupo sudo |
Paso 1: Preparar y actualizar el sistema
Cree un usuario estándar y añádalo al grupo sudo si aún no existe en el sistema:
sudo adduser USERNAME
Sustituya USERNAME por su nombre de usuario.
Añadir un usuario al grupo sudo:
sudo usermod -aG sudo USERNAME
Sustituya USERNAME por su nombre de usuario.
Actualización del sistema:
sudo apt update && sudo apt upgrade -y
Instalación y habilitación del sistema de impresión CUPS:
sudo apt install cups ghostscript -y sudo systemctl enable --now cups
Paso 2: Instalación del entorno de escritorio KDE
sudo apt install kde-standard -y
Si desea el conjunto completo de aplicaciones (juegos, office, etc.), utilice kde-full, pero para un servidor, kde-standard suele ser suficiente.
Si aparece una ventana azul durante la instalación pidiéndole que seleccione un gestor de pantalla, seleccione sddm (nativo de KDE).
Reinicie: Después de instalar todos los paquetes, es mejor reiniciar para asegurarse de que el servidor X y el shell se inician correctamente.
sudo reboot now
Paso 3: Obtener el enlace del paquete de instalación
Vaya a Cendio we bsite -> Pestaña de descargas -> Para administradores -> Descargar el software del servidor ThinLinc -> Rellene el formulario para recibir el enlace

En la ventana que se abre, haga clic con el botón derecho en Descargar software de servidor para obtener un enlace a la última versión de ThinLinc. Puede guardarlo en el Bloc de notas para su posterior instalación.
.jpg)
Paso 4: Descargar ThinLinc
ThinLinc no se distribuye a través de los repositorios estándar de Ubuntu, así que descárgalo desde el sitio web oficial de Cendio utilizando el enlace que guardaste anteriormente:
wget https://www.cendio.com/downloads/server/tl-4.20.0-server.zip
Sustituye el enlace por el que obtuviste en el paso #3.
Paso 5: Descomprime el archivo y ve a la carpeta con los archivos descomprimidos
sudo apt install unzip -y unzip tl-4.20.0-server.zip cd tl-4.20.0-server
Donde tl-4 .20.0-server-es el nombre del archivo que ha descargado
Paso 6: Instalación de ThinLinc Server
Ejecutar el instalador:ThinLinc incluye un práctico script de instalación que incluirá automáticamente las dependencias necesarias.
sudo ./install-server
El instalador le pedirá información en ciertos puntos, por ejemplo, 'Presione Enter para continuar' o para confirmar opciones específicas.
Utilidad de Configuración del Servidor ThinLinc
Después de la instalación de ThinLinc, la utilidad de configuración del servidor seguirá inmediatamente. Se recomienda continuar con la configuración.
Durante la configuración, se le pedirá que instale los paquetes faltantes y confirme su configuración:
- Ejecutar la configuración de ThinLinc ahora [Sí/no]? Sí
- ¿Tipo de servidor [Maestro/agente]? Maestro
- ¿Instalar automáticamente los paquetes necesarios [Sí/no]? Sí
- ¿Desea continuar con la instalación [Sí/no]? Sí
Instale los componentes LDAP para poder iniciar sesión en el sistema utilizando una cuenta dentro de AD.
¿Instalar automáticamente los paquetes necesarios [Sí/no]? Sí
Especifique qué se debe utilizar para el acceso externo:
¿Dirección de acceso externo a utilizar [ip/nombre de host/manual]? ip
Introduzca la dirección de correo electrónico del administrador del sistema:
Correo electrónico del administrador []? Por favor, introduzca su email de contacto.
ThinLink ofrece una interfaz web para administrar el servidor terminal. Puede desactivarla más adelante. Sin embargo, por ahora, por favor introduzca una contraseña segura:
¿Contraseña de Administración Web? SU_CONTRASEÑA_FIABLE
Se recomienda instalar la configuración de AppArmor:
¿Instalar la configuración de AppArmor [Sí/no]? Sí
Una vez finalizada la instalación y configuración, recibirá un mensaje confirmando que la instalación se ha realizado correctamente.
Paso 7: Añadir la ruta a sudo
Para asegurar que el sistema siempre encuentre los comandos de ThinLinc, necesita editar el archivo visudo
sudo visudo
y reemplazar el valor en la línea "Defaults secure_path=" con
"/sbin:/bin:/usr/sbin:/usr/bin:/opt/thinlinc/bin:/opt/thinlinc/sbin".
Paso 8: Comprobación y configuración de los puertos de acceso
ThinLinc opera sobre SSH (puerto 22) para el tráfico primario y utiliza los puertos 1010 (interfaz de administración web) y 300 (cliente web).
Si tiene ufw habilitado, permita el acceso:
sudo ufw default deny incoming && \ sudo ufw default allow outgoing && sudo ufw allow 22/tcp && \ sudo ufw allow 300/tcp && \ sudo ufw reload
Paso 9: Optimizar el rendimiento de la GUI para el acceso remoto
Un comando que creará un archivo de configuración global y obligará a desactivar la composición y las animaciones para todos los usuarios con el fin de mejorar la capacidad de respuesta del escritorio remoto.
sudo cp /etc/xdg/kwinrc /etc/xdg/kwinrc.backup 2>/dev/null ||true sudo bash -c 'cat > /etc/xdg/kwinrc << EOF [Compositing] Enabled=false OpenGLIsUnsafe=true [Plugins] blurEnabled=false contrastEnabled=false kwin4_effect_translucencyEnabled=false slideEnabled=false zoomEnabled=false [Windows] ElectricBorderDelay=0 ElectricBorderCooldown=0 [Effect-PresentWindows] BorderActivate=9 [KWin] AnimationDurationFactor=0 EOF'
Paso 10: Conexión
Puede conectarse a un escritorio remoto de dos formas: a través del cliente nativo de ThinLinc o directamente en el navegador https://YOUR_SERVER_IP:300.
El cliente se puede descargar desde la página Cendio -> Descargar -> Para usuarios.
.jpg)
Como puede ver, el cliente es muy similar al cliente RDP de MS. Los ajustes permiten configurar el reenvío de dispositivos y el portapapeles compartido. La configuración de la calidad de visualización del escritorio remoto también es bastante avanzada.
Paso 11 (Opcional) Deshabilitar el acceso al servidor a través de un navegador web
Dado que el acceso a través del navegador crea vectores de ataque adicionales, es mejor deshabilitar el acceso al panel de administración web en el puerto 1010 y el acceso al cliente web de escritorio remoto.
Esto puede hacerse deshabilitando los servicios relevantes + cerrando los puertos en el cortafuegos.
Deshabilitar servicios:
# Detenemos el cliente web y el panel de administración sudo systemctl stop tlwebclient tlwebadm # Prohibimos su autoarranque sudo systemctl disable tlwebclient tlwebadm
Denegamos el acceso al puerto 300
sudo ufw deny 300/tcp sudo ufw reload
Recuerde que ThinLinc utiliza SSH como transporte. Esto significa que todos los mecanismos de seguridad SSH protegen automáticamente su escritorio gráfico.
Problemas potenciales y recomendaciones para el hardware
Incluso con una instalación correcta, puede haber algunos matices específicos de los escritorios remotos.
Problema #1: No hay sonido o el vídeo se retrasa en el navegador
Motivo: Ubuntu 24.04 instala los navegadores (Firefox, Chromium) en formato Snap por defecto. Estos paquetes se ejecutan en un sandbox aislado, que:
- No ve los canales de sonido virtuales de ThinLinc.
- La renderización de la interfaz de usuario es más lenta debido a las capas de contenerización.
Ejemplo de instalación de Google Chrome desde un paquete .deb:
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb sudo apt install ./google-chrome-stable_current_amd64.deb
Para obtener un sonido adecuado y gráficos fluidos, instale siempre los navegadores desde paquetes .deb o repositorios oficiales. Evite las versiones Snap para servidores de terminales.
Problema nº 2: "Desmoronamiento" de la imagen o lag
Motivo: Conexión a Internet débil o recursos de procesador insuficientes para comprimir el flujo de vídeo.
- Solución: Asegúrese de que la optimización (compresión adaptativa) está activada en la configuración del cliente ThinLinc.
- Solución: Asegúrese de que está utilizando una sesión de KDE Plasma (X11) y no Wayland.
Requisitos del sistema recomendados
Para garantizar una experiencia realmente cómoda al trabajar con KDE a través de ThinLinc (sin sonido entrecortado o congelación al abrir las pestañas del navegador), recomendamos las siguientes especificaciones de VPS:
Parámetro |
Mínimo |
Recomendado (1 usuario) |
Procesador (CPU) |
2 núcleos virtuales |
4 núcleos virtuales |
Memoria (RAM) |
4 GB |
4 GB |
Disco (almacenamiento) |
40 GB SSD |
40 GB SSD / NVMe |
SO |
Ubuntu 24.04 |
Ubuntu 24.04 |
Incluso con una configuración mínima, un servidor dedicado ofrecerá un rendimiento VDI significativamente superior. Si planea utilizar un servidor de terminales como parte de una infraestructura empresarial, es mejor considerar recursos dedicados para garantizar un rendimiento estable para un sistema multiusuario.
ThinLinc también puede utilizar la GPU para el procesamiento de gráficos 3D mediante VirtualGL. Esto requiere instalar controladores GPU propietarios y ejecutar el comando vglrun para lanzar aplicaciones que requieran procesamiento GPU.
Si planea usar su VPS para múltiples usuarios al mismo tiempo, agregue 2GB de RAM y 1 núcleo vCPU por cada usuario activo adicional.