Cómo configurar VNC en Ubuntu: Guía completa con interfaz gráfica, entrada japonesa y túnel SSH seguro

目次

1. Introducción

¿Por qué usar VNC en Ubuntu?

Entre las distribuciones de Linux, Ubuntu es una de las más populares y se utiliza ampliamente para desarrollo, operaciones de servidor y muchos otros fines. Normalmente, los servidores de Ubuntu se operan a través de la línea de comandos, pero hay muchas situaciones en las que usar una GUI (Interfaz Gráfica de Usuario) es deseable.

Aquí es donde entra VNC (Virtual Network Computing). Al usar VNC, puedes conectarte remotamente a una máquina Ubuntu a través de una red y trabajar como si estuvieras operando un escritorio local. Esta operación visual e intuitiva reduce significativamente la barrera para principiantes en Linux y usuarios de Windows, ya que elimina la necesidad de depender únicamente de operaciones complejas en la línea de comandos.

La creciente necesidad de entornos de escritorio remoto

Con la expansión del trabajo remoto en los últimos años, la demanda de construir entornos de escritorio remoto en Ubuntu usando VNC ha aumentado significativamente. En particular, instalar VNC en un servidor de desarrollo Ubuntu y habilitar operaciones GUI mejora la eficiencia de las tareas de configuración y mantenimiento.

Además, hay una fuerte demanda para operar entornos Ubuntu basados en la nube o alojados en VPS con una GUI, y VNC sirve como un puente efectivo para satisfacer esta necesidad.

Público objetivo y propósito de este artículo

Este artículo está dirigido a los siguientes lectores:

  • Aquellos que instalan VNC en Ubuntu por primera vez
  • Usuarios que no se sienten cómodos trabajando solo con la CLI y quieren un entorno GUI
  • Aquellos que se sienten limitados por flujos de trabajo solo con SSH y prefieren VNC sobre RDP
  • Usuarios que quieren un entorno remoto cómodo que incluya soporte para entrada en japonés

Esta guía explica cuidadosamente todo el proceso de instalar un servidor VNC en Ubuntu y habilitar el acceso al escritorio remoto de manera amigable para principiantes. También cubre la configuración de entrada en japonés y conexiones seguras usando túnel SSH, convirtiéndola en un recurso completo y práctico.

2. Requisitos previos y preparación

Qué verificar antes de instalar VNC en Ubuntu

Antes de instalar y usar un servidor VNC en Ubuntu, se requieren varios requisitos previos y preparaciones. Esta sección resume los puntos clave que debes verificar antes de comenzar.

Versiones de Ubuntu compatibles

Este artículo se dirige a Ubuntu 20.04 LTS y Ubuntu 22.04 LTS. Estas versiones se utilizan ampliamente y ofrecen compatibilidad estable con servidores VNC y entornos de entrada en japonés.

Si estás usando una versión diferente, los pasos básicos permanecen iguales, pero algunos nombres de paquetes o comportamientos pueden diferir.

Requisitos del servidor y especificaciones recomendadas

Dado que VNC es un método de acceso remoto basado en GUI, requiere un cierto nivel de recursos del sistema (CPU y memoria). La configuración recomendada es la siguiente:

  • CPU : Dual-core o superior (al menos alrededor de 1 GHz)
  • Memoria : Se recomienda 2 GB o más (asumiendo un escritorio ligero como Xfce)
  • Almacenamiento : Al menos 10 GB de espacio en disco libre
  • Red : Acceso SSH habilitado y la capacidad de abrir el puerto VNC (por ejemplo, 5901 por defecto) en el firewall

Permisos y herramientas requeridos

La instalación y configuración de un servidor VNC requiere lo siguiente:

  • Una cuenta de usuario con privilegios sudo
  • Un cliente SSH (PuTTY en Windows, Terminal en macOS o Linux)

Dado que la configuración se realiza de forma remota, SSH debe estar habilitado en el servidor Ubuntu. Si SSH no está disponible aún, instálalo con sudo apt install openssh-server.

Selección de un entorno de escritorio

Dado que VNC transfiere la salida GUI, un entorno de escritorio debe estar instalado en Ubuntu. Sin embargo, GNOME (incluido en Ubuntu Desktop) es intensivo en recursos y no es adecuado para uso en servidores.

Por esta razón, este artículo asume el uso de un entorno de escritorio ligero como Xfce o MATE:

  • Xfce : Ligero, estable y amigable para principiantes.
  • MATE : Una interfaz clásica con buen rendimiento y estabilidad.

Esta selección se discute con más detalle en secciones posteriores.

3. Instalando un Entorno de Escritorio

¿Por qué es Necesario un Entorno de Escritorio?

Al conectarse a Ubuntu mediante VNC, no se mostrará ninguna pantalla a menos que se instale un entorno de escritorio. VNC está diseñado para operar remotamente una GUI, por lo que un entorno solo de CLI, como Ubuntu Server, no puede utilizar VNC de manera completa.

Elegir un Entorno de Escritorio Ligero

Para el uso de VNC, un entorno de escritorio ideal debe ser ligero y estable. A continuación, se presentan dos opciones populares.

1. Xfce

Xfce es extremadamente ligero y funciona bien incluso en PCs antiguos o entornos VPS. Ofrece funcionalidad esencial con un diseño simple y amigable para el usuario, lo que lo hace una excelente opción para VNC.

2. MATE

MATE es un entorno de escritorio clásico basado en GNOME 2. Aunque es ligeramente más rico en apariencia que Xfce, sigue siendo relativamente ligero y altamente estable.

Instalando Xfce (Recomendado)

Para instalar Xfce, ejecute los siguientes comandos:

sudo apt update
sudo apt install -y xfce4 xfce4-goodies

El paquete xfce4-goodies incluye herramientas adicionales útiles que mejoran la experiencia del escritorio.

La instalación puede tomar varios minutos, por lo que supervise el proceso para asegurarse de que no ocurran errores.

Instalando MATE (Alternativa)

Si prefiere MATE, instálelo usando los siguientes comandos:

sudo apt update
sudo apt install -y ubuntu-mate-core

MATE consume ligeramente más recursos que Xfce, pero se recomienda para usuarios que valoran una apariencia y sensación de escritorio tradicional.

Nota Importante: No Instale Múltiples Entornos de Escritorio

Instalar múltiples entornos de escritorio (como Xfce y MATE juntos) no se recomienda. Complica la selección de sesión en el inicio de sesión y a menudo lleva a errores de configuración de VNC.

Seleccione e instale solo un entorno de escritorio.

4. Instalando y Configurando el Servidor VNC

¿Qué Software de Servidor VNC se Requiere en Ubuntu?

VNC (Virtual Network Computing) consta de dos componentes: un cliente y un servidor. En el lado de Ubuntu, debe instalar un servidor VNC, que permite el acceso remoto a la GUI de Ubuntu.

Hay varias implementaciones de servidores VNC disponibles. En esta guía, usaremos TigerVNC, que es una de las opciones más populares y confiables.

  • TigerVNC (Recomendado) Rápido, estable y funciona bien con Xfce y MATE.
  • TightVNC Ligero y compatible con sistemas antiguos, pero el desarrollo se ha ralentizado.

Instalando TigerVNC

Instale el servidor TigerVNC usando los siguientes comandos:

sudo apt update
sudo apt install -y tigervnc-standalone-server tigervnc-common

Una vez completada la instalación, proceda con la configuración inicial.

Inicio Inicial y Configuración de Contraseña

La primera vez que inicie el servidor VNC, debe establecer una contraseña de conexión.

vncserver

Verá indicaciones similares a las siguientes:

You will require a password to access your desktops.

Password:
Verify:
Would you like to enter a view-only password (y/n)?

La “contraseña solo de visualización” es para acceso de solo lectura. En la mayoría de los casos, seleccionar n es suficiente.

Editando el Archivo de Configuración de VNC (xstartup)

Después de iniciar una sesión VNC, se crea un archivo llamado ~/.vnc/xstartup en su directorio personal. Este archivo es un script de inicio que especifica qué entorno de escritorio lanzar cuando se inicia la sesión VNC.

Configuración para Xfce

#!/bin/sh
xrdb $HOME/.Xresources
startxfce4 &

Configuración para MATE

#!/bin/sh
xrdb $HOME/.Xresources
mate-session &

Después de editar, otorgue permisos de ejecución al script:

chmod +x ~/.vnc/xstartup

Iniciando y Verificando una Sesión VNC

Una vez que todo esté listo, continúe iniciando una sesión VNC:

vncserver :1

El valor :1 representa el número de pantalla virtual. En la primera ejecución, típicamente es :1.

Al conectarse mediante VNC, se utiliza el número de puerto correspondiente (p. ej., 5901), calculado como 5900 + número de pantalla.

Detener una sesión VNC

Para detener la sesión, use el siguiente comando:

vncserver -kill :1

5. Configuración del inicio automático del servidor VNC

¿Por qué habilitar el inicio automático del servidor VNC?

Por defecto, el servidor VNC debe iniciarse y detenerse manualmente para cada usuario. Ejecutar el comando vncserver cada vez es incómodo, y las sesiones VNC no se iniciarán automáticamente después de un reinicio del servidor.

Por esta razón, es una práctica común registrar el servidor VNC como un servicio systemd y habilitar el inicio automático. Esto garantiza un entorno VNC estable y persistente.

Creación de un archivo de servicio systemd

Cree un archivo de servicio systemd dedicado para cada usuario. En este ejemplo, el número de pantalla VNC se establece en :1.

sudo nano /etc/systemd/system/vncserver@:<display-number>.service

Por ejemplo, para crear vncserver@:1.service, use:

sudo nano /etc/systemd/system/vncserver@\:1.service

Copie y pegue el siguiente contenido, reemplazando el nombre de usuario por el suyo:

[Unit]
Description=Start TigerVNC server at startup
After=network.target

[Service]
Type=forking
User=yourusername
PAMName=login
PIDFile=/home/yourusername/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver :%i -geometry 1280x800 -depth 24
ExecStop=/usr/bin/vncserver -kill :%i

[Install]
WantedBy=multi-user.target

Reemplace yourusername por su nombre de usuario real.
El parámetro geometry define la resolución de pantalla y puede ajustarse según sea necesario.

Habilitar e iniciar el servicio

Después de guardar el archivo de servicio, recargue systemd y habilite el servicio:

sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl enable vncserver@:1.service
sudo systemctl start vncserver@:1.service

Verificar el estado del servicio

Compruebe el estado del servicio para confirmar que se está ejecutando correctamente:

sudo systemctl status vncserver@:1.service

Si ve Active: active (running), la configuración fue exitosa.

Nota importante: Servicio específico por usuario

Esta configuración se aplica solo a la sesión VNC de un usuario específico. Si varios usuarios requieren acceso VNC, se debe crear un archivo de servicio systemd separado para cada usuario.

6. Conexión desde un cliente

¿Qué es un cliente VNC?

Instalar solo un servidor VNC en Ubuntu no habilita la operación remota. En el lado del cliente (el equipo que utiliza), debe instalar un visualizador VNC (cliente VNC) y conectarse al servidor Ubuntu desde allí.

Clientes VNC recomendados

Los siguientes clientes VNC son ampliamente usados y muy valorados por su usabilidad y compatibilidad con Ubuntu:

Client NameSupported OSFeatures
RealVNC ViewerWindows / Mac / Linux / iOS / AndroidSimple, stable, and suitable for enterprise use
TigerVNC ViewerWindows / Mac / LinuxOpen source and free to use
UltraVNCWindowsFeature-rich but geared toward advanced users
RemminaLinux onlyGUI client supporting multiple protocols

Usar RealVNC Viewer o TigerVNC Viewer suele ser la opción más segura. Ambos son gratuitos.

Cómo conectarse desde un cliente (Ejemplo: RealVNC Viewer)

Los siguientes pasos describen cómo conectarse usando RealVNC Viewer. El procedimiento es similar para TigerVNC Viewer.

1. Instalar RealVNC Viewer

Descargue e instale la versión adecuada para su SO desde el sitio web oficial (https://www.realvnc.com/).

2. Introducir la dirección del servidor VNC

Después de iniciar la aplicación, introduzca el destino de la siguiente manera:

<server-ip-address>:5901

o

<server-ip-address>:1

Ambos formatos son equivalentes (5900 + número de pantalla = número de puerto).

3. Introducir la contraseña

Introduzca la contraseña VNC que configuró anteriormente.
Si tiene éxito, se mostrará el escritorio de Ubuntu.

Solución de problemas: No se puede conectar

Si la conexión VNC falla, considere las siguientes causas.

● Puerto no abierto

Verifique si el puerto 5901 está bloqueado por un firewall o un grupo de seguridad en la nube.

● ¿Está usando un túnel SSH?

Si no estás utilizando la conexión de túnel SSH descrita en la siguiente sección, el puerto VNC podría no ser accesible públicamente por razones de seguridad.

Conectando desde macOS

En macOS, también puedes usar RealVNC o TigerVNC Viewer. Después de la instalación, conéctate especificando la dirección IP y el puerto de la misma manera que en Windows.

Usando un Smartphone

Las aplicaciones cliente VNC también están disponibles para iOS y Android. Esto puede ser útil para acceder a un servidor Ubuntu desde una tablet, pero la usabilidad es generalmente inferior a la de un PC y es mejor reservarlo para uso de emergencia.

7. Configurando la Entrada Japonesa

Por Qué la Entrada Japonesa Es Necesaria en un Entorno VNC

Incluso después de habilitar el acceso remoto a Ubuntu vía VNC, la entrada japonesa a menudo no está disponible por defecto, lo que puede dificultar tareas como escribir documentos, renombrar archivos o usar herramientas de chat.

Ubuntu se instala frecuentemente en un entorno inglés, y los locales japoneses y métodos de entrada (IMEs) podrían no estar instalados. Esta sección explica cómo habilitar una entrada japonesa cómoda dentro de una sesión VNC.

Instalando el Locale Japonés

Primero, habilita el locale japonés para soportar la visualización e entrada japonesa:

sudo apt update
sudo apt install -y language-pack-ja

Luego actualiza la configuración del locale:

sudo update-locale LANG=ja_JP.UTF-8

Después de cerrar sesión y volver a iniciar o reiniciar, el idioma de la GUI podría cambiar a japonés. Si la visualización se vuelve inestable en VNC, es aceptable mantener la interfaz en inglés.

Elegir un Método de Entrada: fcitx vs ibus

Los dos métodos de entrada japonesa más comunes en Ubuntu son:

Input MethodFeatures
fcitx-mozcLightweight, easy to configure, and stable in VNC environments
ibus-mozcWell integrated with GNOME, but sometimes unstable in VNC

Para entornos VNC, fcitx-mozc se recomienda generalmente debido a menos problemas.

Instalando y Configurando fcitx-mozc

sudo apt install -y fcitx-mozc

Siguiente, establece las variables de entorno requeridas para que el método de entrada se inicie correctamente.

Agrega lo siguiente a ~/.xprofile o ~/.profile:

export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"

Luego agrega el comando para iniciar fcitx:

fcitx &

También es conveniente incluir esta línea en el archivo ~/.vnc/xstartup.

Ejemplo (archivo xstartup parcial):

#!/bin/sh
xrdb $HOME/.Xresources
fcitx &
startxfce4 &

Verificando la Entrada Japonesa

Después de iniciar sesión vía VNC, verifica que “Mozc” esté habilitado en la herramienta de configuración de fcitx (como fcitx-config-gtk3).

Puedes alternar el IME encendiéndolo y apagándolo usando la tecla Medio-ancho/Ancho completo o Ctrl + Espacio.

Problemas Comunes y Soluciones

SymptomCause and Solution
IME does not startfcitx not launched or environment variables misconfigured
Input works but Kanji conversion failsMozc not enabled or fcitx configuration incomplete
fcitx must be started manually every timefcitx & missing from .xstartup

Esto completa la configuración para una entrada japonesa fluida dentro de una sesión VNC. La siguiente sección explica cómo asegurar las conexiones VNC usando túneles SSH.

8. Asegurando VNC con Túneles SSH

Las Conexiones VNC No Están Cifradas por Defecto

Aunque VNC es una solución de escritorio remoto conveniente, tiene una debilidad seria: su tráfico no está cifrado por defecto. Esto crea un riesgo de que las contraseñas o datos de pantalla puedan ser interceptados por terceros.

Por esta razón, al conectarse a VNC a través de internet, se recomienda encarecidamente usar un túnel SSH para cifrar la comunicación.

¿Qué Es un Túnel SSH?

Un túnel SSH usa una conexión SSH para reenviar de manera segura puertos específicos. Al crear un “camino” cifrado entre el cliente VNC y el servidor, mitiga los riesgos de seguridad inherentes de VNC.

Cómo Configurar un Túnel SSH (Reenvío de Puerto Local)

Los siguientes ejemplos demuestran cómo crear un túnel SSH, comenzando con un cliente Windows.

Túnel SSH en Windows Usando PuTTY

1. Instala PuTTY

Descarga e instala PuTTY desde el sitio web oficial (https://www.putty.org/).

2. Ingresa los Detalles de Conexión

En la pestaña “Session”, especifica la dirección IP del servidor VNC y el puerto 22 (SSH).

3. Configura el Reenvío de Puertos

Navega a “Connection” → “SSH” → “Tunnels”.

. Puerto de origen : 5901 * Destino* : localhost:5901 * Selecciona “Local” y haz clic en “Add”

4. Iniciar la conexión SSH

Haz clic en “Open” para iniciar la conexión SSH. El puerto local 5901 ahora se reenviará de forma segura al puerto 5901 del servidor VNC.

Túnel SSH en macOS / Linux

Ejecuta el siguiente comando en una terminal:

ssh -L 5901:localhost:5901 username@server-ip

Ejemplo:

ssh -L 5901:localhost:5901 naoya@192.168.1.100

Una vez conectado, abre tu cliente VNC y conéctate usando:

localhost:5901

Notas importantes al conectar

  • Configuración del firewall : El puerto 22 (SSH) debe estar abierto.
  • Entrada del visor VNC : Usa localhost:5901, no la dirección IP del servidor.

Beneficios de usar un túnel SSH

ItemDescription
Encrypted communicationProtects VNC traffic via secure SSH encryption
Simplified firewall rulesNo need to expose VNC ports externally
Connection loggingSSH logs enable monitoring of access attempts

Al usar un túnel SSH, puedes acceder de forma segura a VNC incluso a través de Internet. Esta es una configuración esencial para servidores de acceso público.

9. Problemas comunes y soluciones

Problema 1: Pantalla negra o gris después de conectar

Causa:

  • Errores en el archivo ~/.vnc/xstartup
  • La sesión de escritorio no se inició correctamente

Solución:

  1. Verifica el contenido de ~/.vnc/xstartup, por ejemplo (Xfce):
    #!/bin/sh
    xrdb $HOME/.Xresources
    startxfce4 &
    
  1. Asegúrate de que el archivo sea ejecutable:
    chmod +x ~/.vnc/xstartup
    
  1. Reinicia la sesión VNC:
    vncserver -kill :1
    vncserver :1
    

Problema 2: Entrada japonesa no funciona

Causa:

  • fcitx o Mozc no están en ejecución
  • Las variables de entorno no están configuradas correctamente

Solución:

  1. Confirma que las siguientes entradas existan en .xprofile o .xsession :
    export GTK_IM_MODULE=fcitx
    export QT_IM_MODULE=fcitx
    export XMODIFIERS="@im=fcitx"
    
  1. Asegúrate de que fcitx & esté incluido en ~/.vnc/xstartup :
    fcitx &
    
  1. Reinicia la sesión VNC y verifica que Mozc esté habilitado en la herramienta de configuración de fcitx.

Problema 3: Conexión VNC inestable o alta latencia

Causa:

  • Ancho de banda de red insuficiente
  • Resolución o profundidad de color configuradas demasiado altas

Solución:

  1. Reduce la resolución o la profundidad de color al iniciar VNC:
    vncserver :1 -geometry 1024x768 -depth 16
    
  1. Usa un túnel SSH para mejorar la estabilidad y la seguridad.
  2. Habilita configuraciones de optimización en el cliente VNC si están disponibles.

Problema 4: VNC se conecta pero no aparece la pantalla de inicio de sesión

Causa:

  • La sesión GUI no se está ejecutando correctamente
  • VNC no utiliza un gestor de pantalla

Solución:

VNC se ejecuta de forma independiente del servidor X del sistema, por lo que la pantalla de inicio de sesión estándar de Ubuntu (como GDM) no se muestra. Este comportamiento es esperado. La sesión mostrada está definida por .vnc/xstartup.

Si necesitas una pantalla de inicio de sesión tradicional o gestión de inicio de sesión multiusuario, considera usar RDP (xrdp) en lugar de VNC.

Problema 5: No se puede iniciar la sesión VNC o acceso denegado

Causa:

  • Configuración incorrecta del archivo de servicio
  • Archivos PID obsoletos que causan conflictos

Solución:

  1. Detén completamente la sesión VNC:
    vncserver -kill :1
    
  1. Elimina los archivos .pid o .log innecesarios en el directorio .vnc:
    rm ~/.vnc/*.pid
    rm ~/.vnc/*.log
    
  1. Inicia la sesión nuevamente:
    vncserver :1
    

Consejos adicionales

  • Revisa los registros en ~/.vnc/*.log para obtener pistas de solución de problemas.
  • Para varios usuarios, inicia VNC con diferentes números de pantalla (p. ej., :2, :3).

10. Resumen

Revisión del proceso de configuración

. Prerequisitos y preparación Confirmar la versión de Ubuntu, el entorno de escritorio y el acceso SSH
Instalación del entorno de escritorio Instalar un GUI ligero y estable como Xfce o MATE
Configuración de TigerVNC Usar TigerVNC por su estabilidad y configurar los números de sesión y la resolución
Inicio automático Registrar VNC como un servicio systemd para restaurar sesiones después del reinicio
Métodos de conexión del cliente Conectarse usando RealVNC Viewer o TigerVNC Viewer con el puerto correcto
Configuración de entrada japonesa Instalar fcitx-mozc y configurar variables de entorno para soporte completo
Túnel SSH Encriptar la comunicación para mitigar los riesgos de seguridad de VNC
Solución de problemas Soluciones prácticas para problemas comunes

Consideraciones operativas para el futuro

Una vez configurado, un entorno VNC le permite operar Ubuntu casi como si fuera local. Es especialmente adecuado para los siguientes escenarios:

  • Operar sistemas Ubuntu en VPS o en la nube mediante GUI
  • Compartir un entorno entre miembros del equipo (usando diferentes números de pantalla)
  • Ayudar a principiantes a aprender Linux a través de una GUI en lugar de solo la línea de comandos

Sin embargo, aunque VNC es ligero y conveniente, requiere precaución para cargas de trabajo multimedia o entornos con requisitos de seguridad estrictos. En esos casos, alternativas como xrdp o NoMachine pueden ser una opción a considerar.

Notas finales

Aunque configurar VNC en Ubuntu puede parecer complejo al principio, es totalmente alcanzable siguiendo cada paso con cuidado. Esperamos que esta guía le ayude a crear un entorno de escritorio remoto de Ubuntu práctico y cómodo.

Si encuentra algún problema durante la configuración, no dude en comunicarse a través de comentarios o redes sociales. Que su experiencia con Ubuntu sea aún más productiva y agradable.