- 1 1. Introducción
- 2 2. Requisitos previos y preparación
- 3 3. Instalando un Entorno de Escritorio
- 4 4. Instalando y Configurando el Servidor VNC
- 5 5. Configuración del inicio automático del servidor VNC
- 6 6. Conexión desde un cliente
- 7 7. Configurando la Entrada Japonesa
- 8 8. Asegurando VNC con Túneles SSH
- 9 9. Problemas comunes y soluciones
- 9.1 Problema 1: Pantalla negra o gris después de conectar
- 9.2 Problema 2: Entrada japonesa no funciona
- 9.3 Problema 3: Conexión VNC inestable o alta latencia
- 9.4 Problema 4: VNC se conecta pero no aparece la pantalla de inicio de sesión
- 9.5 Problema 5: No se puede iniciar la sesión VNC o acceso denegado
- 9.6 Consejos adicionales
- 10 10. Resumen
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 Name | Supported OS | Features |
|---|---|---|
| RealVNC Viewer | Windows / Mac / Linux / iOS / Android | Simple, stable, and suitable for enterprise use |
| TigerVNC Viewer | Windows / Mac / Linux | Open source and free to use |
| UltraVNC | Windows | Feature-rich but geared toward advanced users |
| Remmina | Linux only | GUI 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 Method | Features |
|---|---|
| fcitx-mozc | Lightweight, easy to configure, and stable in VNC environments |
| ibus-mozc | Well 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
| Symptom | Cause and Solution |
|---|---|
| IME does not start | fcitx not launched or environment variables misconfigured |
| Input works but Kanji conversion fails | Mozc not enabled or fcitx configuration incomplete |
| fcitx must be started manually every time | fcitx & 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
| Item | Description |
|---|---|
| Encrypted communication | Protects VNC traffic via secure SSH encryption |
| Simplified firewall rules | No need to expose VNC ports externally |
| Connection logging | SSH 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:
- Verifica el contenido de
~/.vnc/xstartup, por ejemplo (Xfce):#!/bin/sh xrdb $HOME/.Xresources startxfce4 &
- Asegúrate de que el archivo sea ejecutable:
chmod +x ~/.vnc/xstartup
- 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:
- Confirma que las siguientes entradas existan en
.xprofileo.xsession:export GTK_IM_MODULE=fcitx export QT_IM_MODULE=fcitx export XMODIFIERS="@im=fcitx"
- Asegúrate de que
fcitx &esté incluido en~/.vnc/xstartup:fcitx &
- 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:
- Reduce la resolución o la profundidad de color al iniciar VNC:
vncserver :1 -geometry 1024x768 -depth 16
- Usa un túnel SSH para mejorar la estabilidad y la seguridad.
- 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:
- Detén completamente la sesión VNC:
vncserver -kill :1
- Elimina los archivos
.pido.loginnecesarios en el directorio.vnc:rm ~/.vnc/*.pid rm ~/.vnc/*.log
- Inicia la sesión nuevamente:
vncserver :1
Consejos adicionales
- Revisa los registros en
~/.vnc/*.logpara 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.


