¿Cómo se instala VNC Server en Ubuntu 22.04? Guía paso a paso
Instalar un servidor VNC en Ubuntu 22.04 te da la oportunidad de acceder a tu escritorio Linux desde cualquier lugar. Tanto si trabajas desde casa, viajas por negocios o simplemente quieres trabajar desde otra habitación, con un VNC Server siempre tendrás acceso a tu entorno de trabajo.
¿Cuáles son las ventajas de un VNC Server en Ubuntu 22.04?
El uso de un servidor VNC en Ubuntu 22.04 ofrece muchas posibilidades que simplifican considerablemente el trabajo diario, ya que te permite acceder a tu escritorio Ubuntu desde cualquier parte del mundo. Esto significa que no tienes que estar en tu escritorio para gestionar tus aplicaciones y datos. Esta flexibilidad es especialmente práctica si trabajas de forma remota, te encuentras de viaje de negocios o quieres trabajar desde diferentes lugares. Además, el VNC Server es muy fácil de configurar, lo que hace que incluso los usuarios con menos experiencia en tecnología puedan establecer rápidamente una conexión remota sin problemas.
Un VNC Server también fomenta la colaboración en equipos, puesto que permite a varios miembros acceder simultáneamente al mismo escritorio. Esto facilita que los equipos colaboraren de forma eficaz independientemente de su ubicación, trabajen juntos en proyectos y resuelvan problemas en tiempo real. Los administradores y el soporte de TI también pueden resolver errores a distancia sin tener que desplazarse, lo que ahorra tiempo y costes en desplazamientos, además de citas adicionales. En términos de seguridad, muchos VNC Server para Ubuntu 22.04 tienen opciones robustas. Las conexiones cifradas y los distintos métodos de autentificación protegen tus datos y garantizan que solo las personas autorizadas tengan acceso al sistema.
Requisitos para un VNC Server en Ubuntu 22.04
En primer lugar, necesitas una instalación funcional de Ubuntu 22.04. Muchos VNC Server son totalmente compatibles con este sistema operativo y todos los paquetes y dependencias necesarios están disponibles en los repositorios oficiales de Ubuntu. Asegúrate de que tu sistema está actualizado para evitar posibles complicaciones durante la instalación. En general, se deben cumplir los siguientes requisitos:
- Ubuntu 22.04: una instalación funcional y actualizada de Ubuntu 22.04
- Conexión de red: conexión Ethernet o WLAN estable para acceso remoto
- Autorizaciones de root: el usuario del VNC Server requiere derechos de root para la instalación y configuración
- Paquetes de software: instalación del software del VNC Server como TigerVNC, RealVNC o x11vnc desde los repositorios de Ubuntu
- Entorno de escritorio: se debe instalar el entorno de escritorio necesario (por ejemplo, GNOME, XFCE)
- Configuración del cortafuegos: abre el puerto 5900 o ajusta las reglas del cortafuegos para permitir el tráfico de datos de VNC
Convéncete por ti mismo y elige un servidor virtual.
Instalación del Servidor VNC en Ubuntu 22.04: guía paso a paso
Hay muchas opciones a la hora de elegir un VNC Server y un entorno de escritorio. En este tutorial, aprenderás a instalar los últimos paquetes para el entorno de escritorio XFCE y el paquete TigerVNC disponibles en el repositorio de Ubuntu oficial. Tanto XFCE como TigerVNC requieren pocos recursos y tienen un rendimiento rápido. Como resultado, la conexión VNC se mantiene fluida y estable incluso con conexiones a Internet más lentas.
Paso 1: actualizar paquetes
Antes de comenzar la instalación, asegúrate de que tu sistema está actualizado. Para ello, ejecuta los siguientes comandos para instalar todas las actualizaciones disponibles:
sudo apt update
sudo apt upgrade
bashPaso 2: instalar el entorno de escritorio
El VNC Server requiere un entorno de escritorio, ya que proporciona el escritorio a través de la red. Ubuntu 22.04 viene con GNOME por defecto, pero también puedes instalar otros entornos de escritorio como XFCE, que es especialmente ligero.
sudo apt install xfce4 xfce4-goodies
bashEl paquete xfce4-goodies
contiene herramientas y plugins adicionales útiles para XFCE.
Paso 3: crear un nuevo usuario
Una vez instalado el entorno de escritorio, es necesario crear un nuevo usuario para ejecutar el VNC Server. Es aconsejable no hacerlo como Root-User para garantizar la seguridad. En este caso, crearemos un nuevo usuario llamado ”john” y le daremos los permisos necesarios para ejecutar el VNC Server bajo esta cuenta de usuario.
Primero necesitas crear el usuario “john” y asignarle una contraseña. Puedes hacerlo con los siguientes comandos:
sudo useradd -m -s /bin/bash john
sudo passwd john
bashEl comando sudo useradd -m -s /bin/bash john
crea un nuevo usuario “john” y establece un directorio de inicio, por lo que el shell por defecto se establece en /bin/bash
. A continuación, utiliza sudo passwd john
para establecer una contraseña para este usuario. Es esencial elegir una contraseña segura.
Una vez se crea el usuario, debes añadirlo al grupo sudo para que pueda ejecutar comandos administrativos. Esto se hace con el siguiente comando:
sudo usermod -aG sudo john
bashEste comando permite a “john” ejecutar comandos con derechos extendidos que se proporcionan con sudo.
Para comprobar si “john” tiene las autorizaciones correctas, inicia sesión como “john” y comprueba los derechos de root. Para ello, ejecuta estos comandos:
su - john
sudo su
bashCon su - john
cambias al usuario “john” y con sudo su
obtienes derechos de root, siempre que la contraseña se haya introducido correctamente. Si la autenticación es correcta, verás un mensaje como root@hostname
, que confirma que tienes privilegios de root.
Paso 4: instalar el software del VNC Server
Para este tutorial utilizaremos TigerVNC, ya que es una opción de VNC Server ampliamente utilizada y bien soportada. Instala TigerVNC con este comando:
sudo apt install tigervnc-standalone-server tigervnc-common tigervnc-tools
bashEste comando instala el software del VNC Server así como algunos paquetes necesarios para su funcionamiento.
Paso 5: crear la instancia del VNC Server
Antes de poder iniciar el VNC Server, debes establecer una contraseña necesaria para acceder a este. Introduce el siguiente comando en el terminal:
vncserver
bashSe te pedirá que introduzcas y confirmes una contraseña para proteger el acceso a tu VNC Server. También puedes seleccionar una opción para establecer una View-only-Password si deseas que otros usuarios vean la pantalla, pero no tengan control.
Cuando el servidor se inicia por primera vez, se crea una nueva pantalla, normalmente :1
. La salida muestra el número exacto de la pantalla que puedes utilizar.
Observa el siguiente ejemplo:
New 'X' desktop is your-machine-name:1
bashApunta el número de pantalla (en este caso :1
), ya que lo necesitarás para conectarte al VNC Client.
Paso 6: configurar la instancia del VNC Server
Crea un archivo de configuración para el VNC Server para asegurar que XFCE se carga cuando se inicia el servidor. El archivo ~/.vnc/xstartup
puede tener, por ejemplo, el siguiente contenido:
#!/bin/sh
# Start up the standard system desktop
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
/usr/bin/startxfce4
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
x-window-manager &
bashEl archivo se puede ejecutar cuando se utiliza este comando:
chmod +x ~/.vnc/xstartup
bashPaso 7: ejecutar el VNC Server como System Service
Si configuras el VNC Server como servicio de Systemd, podrás iniciarlo, detenerlo y reiniciarlo como cualquier otro servicio. También puedes utilizar comandos systemd para iniciar el VNC Server automáticamente cuando se arranque el sistema.
Primero crea un nuevo archivo con el editor de texto que quieras:
nano /etc/systemd/system/vncserver@.service
bashAñade el siguiente contenido al archivo:
[Unit]
Description=Start TigerVNC server at startup
After=syslog.target network.target
[Service]
Type=forking
User=<your-username>
PAMName=login
PIDFile=/home/<your-username>/.vnc/%H:%i.pid
ExecStart=/usr/bin/vncserver %i
ExecStop=/usr/bin/vncserver -kill %i
[Install]
WantedBy=multi-user.target
bashSustituye <your-username>
por tu nombre de usuario real. Carga el nuevo archivo de servicio y activa el servicio:
sudo systemctl daemon-reload
sudo systemctl enable vncserver@1.service
sudo systemctl start vncserver@:1
bashEl comando sudo systemctl enable vncserver@1.service
activa el servicio del VNC Server para la pantalla :1
para que se inicie automáticamente la próxima vez que se arranque el sistema. Para ello, se utiliza el archivo de servicio systemd vncserver@.service
, en el que %i
se sustituye por 1
. Esto permite configurar el VNC Server para la pantalla :1
y asegurar que se inicia cada vez que el sistema arranque. El comando crea los accesos directos necesarios para incluir el servicio en el proceso de arranque correcto.
Paso 8: configurar el cortafuegos
Si tienes un cortafuegos habilitado en tu servidor Ubuntu, necesitarás habilitar el VNC Port para permitir conexiones remotas. Por defecto, el VNC Server utiliza el puerto 5900 seguido del número de pantalla. Por lo tanto, para la pantalla :1
el puerto será 5901.
Abre el puerto con ufw
:
sudo ufw allow 5901/tcp
bashComprueba las reglas del cortafuegos para verificar que el puerto está abierto:
sudo ufw status
bashEste es un ejemplo de un posible Output:
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
80/tcp ALLOW Anywhere
443/tcp ALLOW Anywhere
5901/tcp ALLOW Anywhere
22/tcp (v6) ALLOW Anywhere (v6)
80/tcp (v6) ALLOW Anywhere (v6)
443/tcp (v6) ALLOW Anywhere (v6)
5901/tcp (v6) ALLOW Anywhere (v6)
bashPaso 9: establecer una conexión con el VNC Server
Para establecer una conexión con tu VNC Server, necesitas un VNC Client en tu ordenador local. Los VNC Client más populares son RealVNC, TigerVNC Viewer y TightVNC Viewer. Para mejorar la seguridad de tu conexión VNC, deberías considerar usar una conexión encriptada vía SSH. Esto protege la comunicación entre tu VNC Client y el Server.
Establece una conexión con tu Server a través de SSH y reenvía el VNC Port:
ssh -L 59000:localhost:5901 -C -N -l <your-username>@<server-ip>
bashssh
: comando para la conexión segura a un Remote-Server a través del protocolo SSH, que transmite los datos de forma encriptada-L 59000:localhost:5901
: activa un reenvío de puerto local; el tráfico de datos del puerto 59000 de tu ordenador local se reenvía a través del SSH-Tunnel al puerto 5901 del Remote-Server.localhost
se refiere al Remote-Server en el que se está ejecutando el VNC ServerC
: activa la compresión del tráfico de datos, lo que puede mejorar la velocidad de transmisión y reducir la utilización del ancho de banda, especialmente con conexiones lentasN
: impide que se ejecuten comandos en el Remote-Server; este modo es útil si solo se desea configurar el Tunnel sin iniciar un Shell en el Remote-Server-l <your-username>
: especifica el nombre de usuario con el que se inicia sesión en el Remote-Server<server-ip>
: la dirección IP o nombre de host del Remote-Server al que deseas conectarte vía SSH
Sustituye <your-username>
por tu nombre de usuario y <server-ip>
por la dirección IP de tu servidor.
Conéctate al puerto local 5901 que has reenviado a través del SSH-Tunnel introduciendo localhost:5901
en tu VNC Viewer.
Este método garantiza que tu conexión VNC se realiza a través de una conexión SSH cifrada y por lo tanto es más segura.
Paso 10: gestionar el VNC Server
Para detener o reiniciar el VNC Server, utiliza los siguientes comandos:
Detener el VNC Server:
vncserver -kill :1
bashReiniciar el VNC Server:
vncserver :1
bashDetener el VNC Server (con systemd):
sudo systemctl stop vncserver@:1
bashComprueba el estado:
sudo systemctl status vncserver@1
bashUn posible Output podría ser:
vncserver@1.service - Start TigerVNC server at startup
Loaded: loaded (/etc/systemd/system/vncserver@.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2024-07-29 16:57:26 UTC; 20s ago
Process: 97088 ExecStartPre=/usr/bin/vncserver -kill :1 > /dev/null 2>&1 (code=exited, status=2)
Process: 97092 ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 -localhost :1 (code=exited, status=0/SUCCESS)
Main PID: 97103 (Xtigervnc)
Tasks: 77 (limit: 4665)
Memory: 146.7M
CPU: 4.459s
CGroup: /system.slice/system-vncserver.slice/vncserver@1.service
. . .
bashPaso 11: solucionar problemas
Si encuentras problemas, comprueba los siguientes puntos:
- Archivos de registro: los archivos de registro del VNC Server se encuentran en
~/.vnc
. Comprueba estos archivos en busca de mensajes de error que puedan indicar posibles problemas. - Conexiones de red: asegúrate de que no haya restricciones de red o cortafuegos que bloqueen el acceso al VNC Port.
- Archivos de configuración: comprueba que no haya errores en la configuración del entorno de escritorio en el archivo
~/.vnc/xstartup
.
Ahora tienes la opción de gestionar tus archivos y programas, así como la configuración del sistema cómodamente a través de un VNC Server. Si prefiere utilizar Windows, consulta nuestro tutorial “VNC Server en Windows”.
- Tu servidor propio en un hardware dedicado
- Integración en el cloud y facturación al minuto
- Respaldados por procesadores Intel® Xeon® y AMD