Escritorio XFCE y TigerVNC en un VPS Linux

2 min
Hosting VPS/VDS

Algunas tareas son más fáciles con un escritorio gráfico: abrir un navegador, una herramienta con interfaz o una aplicación de escritorio en una máquina remota. XFCE es lo bastante ligero para un servidor pequeño, y TigerVNC te permite verlo desde tu propio ordenador. Esta guía lo configura en un VPS Linux Infrawire sin exponer nunca el puerto VNC a Internet: solo se accede mediante un túnel SSH.

📋 Requisitos previos

  • Un VPS con Ubuntu 24.04 o Debian 12 y acceso SSH como root (desde tu área de cliente encuentras la IP y la contraseña root del VPS).
  • Al menos 2 GB de RAM para un escritorio cómodo.
  • Un cliente SSH en tu ordenador y un visor VNC (RealVNC Viewer o TigerVNC Viewer).
  • Una cuenta de usuario normal: no ejecutes el escritorio como root.

📦 Instalar XFCE y TigerVNC

Actualiza el sistema e instala el escritorio y el servidor. dbus-x11 evita un problema frecuente de pantalla gris.

Bash
apt update && apt upgrade -y apt install -y xfce4 xfce4-goodies tigervnc-standalone-server tigervnc-common dbus-x11

Crea un usuario dedicado si todavía no tienes uno:

Bash
adduser USER usermod -aG sudo USER

🔑 Definir la contraseña VNC y la sesión

Cambia a ese usuario y define la contraseña VNC (como máximo 8 caracteres son significativos):

Bash
su - USER vncpasswd

Responde n a la pregunta sobre la contraseña de solo lectura. Luego indica a TigerVNC que arranque XFCE:

Bash
mkdir -p ~/.vnc cat > ~/.vnc/xstartup <<'EOF' #!/bin/sh unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS exec startxfce4 EOF chmod +x ~/.vnc/xstartup

Pruébalo a mano, escuchando solo en localhost:

Bash
vncserver :1 -localhost yes -geometry 1920x1080 -depth 24 vncserver -list vncserver -kill :1

⚙️ Arranque automático con systemd

De nuevo como root, crea una unidad que ejecute la sesión de tu usuario. La pantalla :1 corresponde al puerto TCP 5901.

INI
1# /etc/systemd/system/vncserver@.service 2[Unit] 3Description=TigerVNC server on display %i 4After=network.target 5 6[Service] 7Type=forking 8User=USER 9Group=USER 10WorkingDirectory=/home/USER 11PIDFile=/home/USER/.vnc/%H:%i.pid 12ExecStartPre=-/usr/bin/vncserver -kill :%i 13ExecStart=/usr/bin/vncserver :%i -localhost yes -geometry 1920x1080 -depth 24 14ExecStop=/usr/bin/vncserver -kill :%i 15 16[Install] 17WantedBy=multi-user.target
Bash
systemctl daemon-reload systemctl enable --now vncserver@1.service systemctl status vncserver@1.service

Para un segundo usuario, copia la unidad con otro nombre, con ese usuario y la pantalla :2 (puerto 5902).

🔒 Conectarse mediante un túnel SSH

La opción -localhost yes hace que VNC escuche solo en 127.0.0.1, de modo que nada es accesible desde fuera. Desde tu propio ordenador, abre un túnel:

Bash
ssh -N -L 5901:localhost:5901 USER@VPS_IP

Deja abierta esa ventana. En tu visor VNC, conéctate a localhost:5901 e introduce la contraseña VNC. El mismo comando funciona en PowerShell de Windows y en la Terminal de macOS. No abras el puerto 5901 en ningún cortafuegos.

✅ Verificación

En el VPS, comprueba que VNC escucha solo en la dirección de loopback:

Bash
ss -tlnp | grep 5901 systemctl is-active vncserver@1.service

Debes ver 127.0.0.1:5901 y no 0.0.0.0:5901. Desde tu ordenador, el visor debe mostrar el escritorio XFCE una vez establecido el túnel.

🛠️ Solución de problemas

Pantalla gris o sin escritorio. Comprueba que ~/.vnc/xstartup es ejecutable, que dbus-x11 está instalado y lee el registro con cat ~/.vnc/*.log. La falta de la línea exec startxfce4 es la causa más común.

«A VNC server is already running as :1». Queda un bloqueo obsoleto. Ejecuta vncserver -kill :1, elimina /tmp/.X1-lock y /tmp/.X11-unix/X1 si persisten y reinicia el servicio.

El túnel rechaza la conexión. Probablemente el servicio está detenido: revisa systemctl status vncserver@1.service. Asegúrate también de que el puerto local 5901 no esté ya en uso en tu ordenador, o elige otro como -L 5999:localhost:5901.


🎉 Tu VPS ya ofrece un escritorio XFCE privado, accesible solo mediante tu túnel SSH.

Mantente al día con las últimas ofertas, descuentos y promociones especiales.

Ver promociones

Utilizamos cookies

Utilizamos cookies analíticas para mejorar su experiencia en nuestro sitio. No vendemos datos a terceros. Más información en nuestra política de privacidad.