Cómo instalar el servidor VNC Ubuntu 22.04
La Computación Virtual en Red (VNC) es un protocolo de compartición de escritorio que te permite controlar un ordenador a distancia utilizando el software cliente VNC. VNC funciona en entornos GUI (Interfaz Gráfica de Usuario), transmite los movimientos de tu ratón y la entrada del teclado a través de la red utilizando el protocolo Remote Frame Buffer (RFB).
Comúnmente, VNC se utiliza para que los técnicos controlen los escritorios de los clientes o lo utiliza alguien que necesita acceder a su Escritorio en la oficina desde su casa. VNC se puede utilizar de forma segura a través de la red VPN o utilizando la conexión de túnel SSH.
En este tutorial, te mostraremos cómo instalar y configurar el Servidor VNC en el último Servidor Ubuntu 22.04. Esta guía también explica cómo conectarse de forma segura al Servidor VNC a través de la tunelización SSh.
Requisitos previos
- Un Servidor Ubuntu versión 22.04
- Un usuario no root con privilegios de root
Instalación del Entorno de Escritorio
En primer lugar, instalarás el Entorno de Escritorio o DE en tu servidor. En Linux hay múltiples DE que puedes utilizar, pero a menudo en el entorno de servidor, instalarás y utilizarás DE ligeros como XFCE y MATE Desktop. Esto se debe a que la mayoría de los entornos de servidor son limitados, en términos de recursos.
En este ejemplo, utilizarás el XFCE como Entorno de Escritorio por defecto para la instalación de tu Servidor VNC, pero también aprenderás a instalar otros DE en tu sistema. El XFCE es un entorno de escritorio medio que puedes instalar tanto en tu servidor como en tu portátil/ordenador. Es ligero y no ocupa más de 600MB en tu espacio de disco, y también es bueno para la máquina con poca memoria/RAM, 4GB de RAM es más que suficiente para que funcione XFCE.
Antes de empezar a instalar cualquier paquete, ejecuta el siguiente comando para actualizar y refrescar tus repositorios de Ubuntu.
sudo apt update
Ahora instala el escritorio XFCE en tu sistema utilizando el siguiente comando.
sudo apt install xfce4 xfce4-goodies
Introduce Y para confirmar y pulsa ENTER para iniciar la instalación. Y se iniciará la instalación de XFCE.
Si quieres utilizar otro DE como Gnome, puedes instalarlo utilizando el siguiente comando.
sudo apt install ubuntu-desktop-minimal
Otra buena forma de instalar DEs en tu sistema Ubuntu es utilizar«tasksel«, que automatizará la instalación del Entorno de Escritorio en tus elecciones.
Puedes instalar tasksel utilizando el siguiente comando.
sudo apt install tasksel
Introduce Y para confirmar y pulsa ENTER para iniciar la instalación.
Una vez finalizada la instalación, ejecuta el comando tasksel que se indica a continuación.
sudo tasksel
En la siguiente captura de pantalla puedes ver el menú para instalar algunos DE diferentes en tu sistema. Selecciona el DE que quieras instalar utilizando la tecla ESPACIADORA y mueve el cursor a ACEPTAR, y se iniciará la instalación.
Configurar un nuevo usuario
Después de instalar el Entorno de Escritorio, ahora vas a configurar un nuevo usuario para tu Servidor VNC. El Servidor VNC puede ejecutarse con cualquier usuario de tu sistema, pero no se recomienda ejecutar el Servidor VNC como usuario root.
En esta demostración, crearás un nuevo usuario llamado«alice» con privilegios adicionales ejecutando el comando«sudo su» para obtener los privilegios de root. Y el Servidor VNC se ejecutará bajo este usuario.
Ejecuta el siguiente comando para añadir un nuevo usuario‘alice‘ y establecer su contraseña. Asegúrate de utilizar una contraseña segura para ese usuario.
sudo useradd -m -s /bin/bash alice sudo passwd alice
Ahora añade el usuario «alice» al grupo«sudo» utilizando el siguiente comando. Esto permitirá al nuevo usuario «alice» ejecutar el comando «sudo su» para obtener privilegios de administrador root.
sudo usermod -aG sudo alice
Por último, inicia sesión como el nuevo usuario «alice» y ejecuta el comando «sudosu» para comprobar y verificar los privilegios de root.
su - alice sudo su
Introduce la contraseña correcta para el usuario«alice«. Si la autenticación se realiza correctamente, aparecerá un nuevo mensaje como «root@hostname«, lo que significa que tienes privilegios de administrador raíz.
Instalar el Servidor TigerVNC
Ahora es el momento de instalar los paquetes del Servidor VNC en tu Servidor Ubuntu. En este ejemplo, instalarás y utilizarás el paquete TigerVNC Server para tu Servidor VNC. El paquete TigerVNC está disponible en la mayoría de las distribuciones de Linux, incluida Ubuntu. Además, TigerVNC proporciona paquetes completos que incluyen el Servidor VNC, el Visor/Cliente VNC y herramientas adicionales para VNC.
Instala el paquete TigerVNC Server utilizando el comando apt que se indica a continuación.
sudo apt install tigervnc-standalone-server tigervnc-common tigervnc-tools
Introduce Y para confirmar y pulsa ENTER para continuar la instalación. Ahora se iniciará la instalación.
Una vez completada la instalación de todos los paquetes, pasa a la siguiente fase para inicializar las configuraciones del Servidor VNC.
Inicializar el Servidor VNC
Ya has completado la instalación de los paquetes TigerVNC en tu Servidor Ubuntu, es hora de instalar y configurar el servidor VNC utilizando los paquetes TigerVNC.
En este ejemplo, el servidor VNC se ejecutará con el usuario no root ‘alice’ y el Entorno de Escritorio por defecto será XFCE – El DE ligero y potente.
Así que inicia sesión como el usuario«alice» utilizando el siguiente comando.
su - alice
Inicializa la configuración del Servidor VNC utilizando el siguiente comando. La línea de comandos vncserver se puede utilizar para gestionar la configuración de tu servidor VNC, esto incluye inicializar, comprobar el estado, configurar el script de inicio, etc.
vncserver
Ahora se te pedirá la siguiente configuración del Servidor VNC:
- Configuraciónde la contraseña del Servidor VNC: Introduce la nueva contraseña para tu Servidor VNC. Esta contraseña se utilizará para iniciar sesión en tu Servidor VNC, la contraseña máxima es de 8 caracteres. Si introduces más de 8 caracteres, aparecerá un error. Así que asegúrate de no utilizar más de 8 caracteres y repite la contraseña para verificarla.
- Configuración de contraseña de sólo visualización: Esta opción te permite compartir un Servidor VNC o una sesión con otro usuario con permiso de sólo visualización. Esto se puede utilizar si quieres hacer una demostración a otros usuarios pero con un permiso limitado de sólo visualización. En este ejemplo, no necesitamos la contraseña de sólo visualización, así que introduce n para no.
Este comando también genera un nuevo directorio de configuración para el Servidor VNC llamado«~/.vnc» bajo el directorio home.
Ahora, cuando la inicialización del Servidor VNC se haya completado con éxito, aparecerá el siguiente mensaje. El Servidor VNC se está ejecutando ahora en «ubuntu-machine:1» con el puerto TCP por defecto 5901. El ubuntu-machinees el nombre de host de tu sistema y :1 significa que el Servidor VNC se está ejecutando en la pantalla :1.
New Xtigervnc server 'ubuntu-machine:1 (alice)' on port 5901 for display :1. Use xtigervncviewer -SecurityTypes VncAuth -passwd /home/alice/.vnc/passwd :1 to connect to the VNC server.
A continuación, matemos el Servidor VNC ‘ ubuntu-machine:1′ y empecemos a configurar el script de inicio.
Mata el proceso del Servidor VNC ‘ubuntu-machine:1’ utilizando el siguiente comando vncserver.
vncserver -kill ubuntu-machine:1
Ahora crea un nuevo script de inicio ~/.vnc/xstartup utilizando el editor nano.
nano ~/.vnc/xstartup
Añádele el siguiente script. Este script ejecutará automáticamente el escritorio XFCE cada vez que se inicie el Servidor VNC.
#!/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 &
Guarda y cierra el archivo cuando hayas terminado.
Por último, ejecuta el comando chmod que aparece a continuación para que el script de inicio sea ejecutable.
chmod +x ~/.vnc/xstartup
Llegados a este punto, ya has completado la inicialización y configuración básica del Servidor VNC en Ubuntu 22.04 con el escritorio XFCE.
Añadir un nuevo usuario al Servidor TigerVNC
Ahora tendrás que añadir y definir el usuario VNC al archivo de configuración de TigerVNC Server. Tu usuario para el Servidor VNC debe estar disponible en el archivo /etc/tigervnc/vncserver.users.
Edita el archivo /etc/tigervnc/vncserver.users utilizando el editor nano.
sudo nano /etc/tigervnc/vncserver.users
Añádele la siguiente configuración. El formato aquí es «:display=alice«, y en este ejemplo el Servidor VNC se está ejecutando en el display «:1» para el usuario VNC«alice«. También puedes añadir varios usuarios al archivo cuando tengas varios procesos de Servidor VNC.
:1=alice
Guarda y cierra el archivo cuando hayas terminado.
Ahora ejecuta el siguiente comando para iniciar y habilitar el Servidor VNC para que muestre «:1». Si tienes varios procesos de Servidor VNC con varias pantallas, puedes cambiar el número de pantalla al final del nombre del servicio, por ejemplo «tigervncserver@:N.service», aquí la N es el número.
sudo systemctl start tigervncserver@:1.service sudo systemctl enable tigervncserver@:1.service
Por último, ejecuta el siguiente comando para comprobar y verificar el estado del servicio VNC Server.
sudo systemctl status tigervncserver@:1.service
En la siguiente captura de pantalla, puedes ver que tigervncserver@:1.service está activo y en ejecución. El Servidor VNC se está ejecutando como el usuario‘alice‘ en la pantalla «:1» con el puerto TCP 5901 por defecto.
Además, si tienes algún error durante el proceso de inicio del Servidor VNC, puedes consultar el archivo de registro dentro del directorio ~/.vnc. En este ejemplo el usuario es alice, así que inicia sesión como usuario‘alice‘ y comprueba los archivos de registro detallados a continuación.
su - alice cd ~/.vnc/; ls -lah
Verás dos archivos de registro del servicio VNC Server. Comprueba todos esos archivos de registro siempre que obtengas un error al iniciar el servicio VNC Server.
Llegados a este punto, ya has completado la instalación y configuración de VNC Server en Ubuntu 22.04, y ahora puedes conectarte a tu VNC Server desde tu máquina local.
Conectarse al Servidor VNC de forma segura con el túnel SSH
En esta sección, comprobarás y verificarás la instalación del Servidor VNC conectándote a tu Servidor VNC de forma segura utilizando el Túnel SSL.
Antes de empezar a conectarte al Servidor VNC, asegúrate de que el cliente VNC está instalado en tu máquina local. Para Windows y macOS, puedes utilizar RealVNC, en cuanto a las máquinas de escritorio Linux, puedes utilizar el Visor TigerVNC, la mayoría disponible por defecto en el repositorio de tu distribución.
Antes de empezar a conectarte al Servidor VNC, ejecuta el siguiente comando ssh en tu máquina local para conectarte al servidor. Este comando creará un túnel SSH seguro hacia tu servidor, en tu máquina local abrirás el puerto TCP 5901 que hará de túnel hacia tu servidor en el mismo puerto 5901.
ssh -L 5901:127.0.0.1:5901 -N -f -l alice t 192.168.10.15
Introduce la contraseña de tu usuario. En este ejemplo, estamos utilizando el mismo usuario llamado‘alice‘.
A continuación, abre tu aplicación Cliente VNC y conéctate a tu Servidor VNC con la dirección «localhost:5901». Esto enviará automáticamente la conexión de forma segura a tu Servidor VNC a través de un túnel SSH.
En este ejemplo, el cliente VNC es TigerVNC Viewer. Ahora haz clic en Conectar para iniciar la conexión con el servidor.
Introduce la contraseña de tu Servidor VNC y haz clic en Aceptar para continuar. También puedes ver el mensaje de que la conexión no es segura. Puedes ignorarlo porque, en este caso, te estás conectando a localhost.
Cuando la contraseña sea correcta, podrás ver el Servidor VNC con el Escritorio XFCE como se muestra a continuación. Puedes abrir el terminal en tu escritorio y ejecutar algunos comandos para verificar tu sistema.
Conclusión
¡Enhorabuena! Ya has instalado y configurado correctamente el Servidor VNC en el último servidor Ubuntu 22.04 con XFCE como Entorno de Escritorio por defecto. Además, has aprendido a instalar otros ED en el servidor Ubuntu. Por último, también has aprendido a conectarte al Servidor VNC de forma segura a través de un túnel SSH.