Cómo usar VNC Viewer en Ubuntu (cliente VNC)

VNC (Virtual Network Computing) permite ver y controlar el escritorio gráfico de un servidor remoto (Linux, Windows, Mac) desde un cliente. En Ubuntu, el cliente estándar es Remmina (preinstalado, soporta VNC, RDP, SPICE, SSH) o TigerVNC Viewer / RealVNC Viewer.

Opción 1: Remmina (GUI, recomendado, ya instalado)

  1. Abre Remmina (busca "Escritorio remoto" en aplicaciones).
  2. Clic + (Nuevo) o Ctrl+N.
  3. Nombre: Identificativo (ej. "Servidor Oficina").
  4. Protocolo: VNC - Virtual Network Computing.
  5. Servidor: IP_o_host:puerto (ej. 192.168.1.50:5901 o miservidor.ddns.net:5901).
    Puerto VNC base = 5900 + número de display (:1 = 5901, :0 = 5900).
  6. Usuario / Contraseña: La del usuario en el servidor remoto (o contraseña VNC específica si se configuró aparte).
  7. Opcional: Calidad (Baja/Media/Alta), Escalado, Compartir carpeta (SFTP).
  8. Guardar.
  9. Doble clic en la conexión guardada para conectar.

Opción 2: TigerVNC Viewer (ligero, CLI + GUI)

Instalar

sudo apt update && sudo apt install tigervnc-viewer

Conectar (GUI)

  1. Ejecuta vncviewer (o busca "TigerVNC Viewer").
  2. Introduce host:display (ej. 192.168.1.50:1) > Conectar.
  3. Introduce contraseña VNC.

Conectar (Terminal)

vncviewer 192.168.1.50:1
# Opciones útiles:
# -FullScreen, -FullColor, -LowColorLevel, -CompressLevel 9, -Quality 4

Opción 3: RealVNC Viewer (propietario, buena compatibilidad)

# Descarga .deb de realvnc.com > VNC Viewer > Linux x64 .deb
sudo apt install ./VNC-Viewer-*-Linux-x64.deb
# Ejecuta: vncviewer (GUI) o vncviewer host:display

Configurar servidor VNC en Ubuntu (para recibir conexiones)

El artículo original solo cubría cliente. Para servir:

  1. sudo apt update && sudo apt install tigervnc-standalone-server
  2. Usuario que va a servir: vncpasswd (crea contraseña VNC).
  3. Configura ~/.vnc/config:
    geometry=1920x1080
    depth=24
    localhost=no  # permite conexiones externas (seguro solo con VPN/SSH tunnel)
    
  4. Inicia: vncserver :1 (display :1 = puerto 5901).
  5. Para systemd (servicio persistente): crea /etc/systemd/system/vncserver@.service (plantilla estándar) y sudo systemctl enable --now vncserver@1.
  6. Firewall: sudo ufw allow 5901/tcp (o rango 5900-5910).
  7. SEGURIDAD CRÍTICA: NUNCA expongas VNC a Internet directo. Usa túnel SSH:
    # En cliente:
    ssh -L 5901:localhost:5901 usuario@servidor_remoto
    # Luego conecta VNC Viewer a: localhost:1 (o 127.0.0.1:5901)
    

Consejos

  • En LAN de confianza, localhost=no + firewall restrictivo (solo IPs conocidas) es aceptable.
  • Para Wayland (Ubuntu 22.04+ por defecto): VNC tradicional (X11) no captura sesión Wayland nativa. Usa GNOME Remote Desktop (Vino/RDP) o WayVNC (experimental). TigerVNC/Remmina funcionan si la sesión remota es X11 (selecciona "Ubuntu on Xorg" en login).
  • Mejor rendimiento: RDP (xrdp) en Linux > VNC. Remmina conecta a ambos.