Este artículo le mostrará cómo configurar un VNC en Ubuntu Server 20.04.
Virtual Network Computing (VNC) es una tecnología gráfica para compartir escritorio que le permite controlar otra computadora usando su teclado y mouse.
Requisitos
Antes de continuar con el tutorial, asegúrese de haber iniciado sesión como usuario con privilegios sudo.
Instalación del entorno de escritorio
Es poco probable que su servidor Ubuntu tenga un entorno de escritorio instalado. Lo primero que debemos hacer es configurar un entorno de escritorio liviano.
En el repositorio de Ubuntu, encontrará una variedad de entornos de escritorio (DE). Nuestro entorno de escritorio preferido será Xfce. Es liviano, rápido y estable, lo que lo hace adecuado para usar en un servidor remoto.
Actualice el índice de paquetes e instale Xfce en su servidor Ubuntu con los siguientes comandos:
$ sudo apt install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils
Puede llevar algún tiempo descargar e instalar los paquetes de Xfce, dependiendo de su máquina.
Instalación de VNC en Ubuntu
TightVNC, TigerVNC y x11vnc son solo algunos de los servidores VNC a los que se puede acceder en el repositorio de Ubuntu. En términos de velocidad y seguridad, cada servidor VNC ofrece ventajas y desventajas.
Utilizaremos TigerVNC, un servidor VNC de alto rendimiento que se mantiene activamente. Ejecute el siguiente comando para instalar TigerVNC en su servidor Ubuntu:
$ sudo apt install tigervnc-standalone-server tigervnc-common
Prueba del servidor VNC
Una vez que el servidor VNC esté instalado, ejecute el comando vncserver para crear la configuración inicial y configurar la contraseña. No use sudo cuando ejecute el siguiente comando:
$ vncserver
Se le pedirá que ingrese y confirme su contraseña, así como si desea que sea de solo lectura. El usuario no podrá interactuar con la instancia de VNC con el mouse o el teclado si opta por configurar una contraseña de solo lectura.
El archivo de contraseña se crea y almacena en el directorio /.vnc cuando ejecuta el comando vncserver por primera vez.
En el resultado anterior, tome nota de:1 después del nombre de host. Este es el número del puerto de visualización donde se ejecuta el servidor vnc. El servidor está escuchando en el puerto TCP 5901 (5900+1) en nuestro caso. Si usa vncserver para crear una segunda instancia, se ejecutará en el siguiente puerto disponible, que es el 2, lo que significa que el servidor se ejecutará en el puerto 5902 (5900+2).
Vale la pena señalar que mientras se trabaja con servidores VNC,:X corresponde a 5900+X como puerto de pantalla.
Detenga la instancia de VNC con el comando vncserver con la opción -kill y el número de servidor como argumento antes de pasar al siguiente paso. Debido a que el servidor está escuchando en el puerto 5901 (:1) en este ejemplo, lo cerraremos con:
$ vncserver -kill :1
Configuración del servidor VNC
Necesitamos configurar TigerVNC para usar Xfce ahora que tanto Xfce como TigerVNC están instalados en la estación de trabajo. Cree el siguiente archivo para hacerlo:
$ vim ~/.vnc/xstartup
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4
Guarde y cierre el archivo cuando haya terminado. Cuando inicie o reinicie el servidor TigerVNC, el script anterior se ejecutará automáticamente.
También se requieren permisos de ejecución para el archivo /.vnc/xstartup. Para asegurarse de que los permisos sean correctos, use el siguiente comando chmod:
$ chmod u+x ~/.vnc/xstartup
Crear un archivo de unidad Systemd
Podemos iniciar, detener y reiniciar fácilmente el servicio VNC usando el archivo de unidad systemd.
Copie la siguiente configuración en su editor de texto y péguela. Recuerde modificar el nombre de usuario en la línea 7 para que coincida con el suyo.
$ sudo vim /etc/systemd/system/[email protected]
/etc/systemd/system/[email protected]
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=simple
User=ubuntu
PAMName=login
PIDFile=/home/%u/.vnc/%H%i.pid
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill :%i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver :%i -geometry 1440x900 -alwaysshared -fg
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.target
Guarde y cierre el archivo.
Ejecute el siguiente comando para decirle a systemd que se ha creado un nuevo archivo [email protected]:
$ sudo systemctl daemon-reload
A continuación, habilite el servicio:
$ sudo systemctl enable [email protected]
El puerto de visualización en el que se ejecutará el servicio VNC está definido por el número 1 después del símbolo @. Debido a que estamos usando 1 en la sección anterior, el servidor VNC escuchará en el puerto 5901.
Ejecute el siguiente comando para iniciar el servicio VNC:
$ sudo systemctl start [email protected]
Verifique que el servicio se haya iniciado correctamente con:
$ sudo systemctl status [email protected]
Conectando al servidor VNC
Es hora de iniciar Vncviewer y conectarse a su servidor VNC.
Se puede usar cualquier visor VNC, incluidos TigerVNC, TightVNC, RealVNC, UltraVNC, Vinagre y VNC Viewer para Google Chrome.
Usaremos TigerVNC en este ejemplo. Abra su visor VNC, escriba la IP de su servidor:5901 en la barra de direcciones, luego presione el botón Conectar.
Ingrese su contraseña cuando se le solicite, y debería ver el escritorio Xfce predeterminado. Debería verse así:
Se ha conectado con éxito a su servidor a través de VNC en este punto. Ahora puede usar su teclado y mouse para interactuar con el escritorio XFCE remoto desde su estación de trabajo local.
Instalar VNC en Ubuntu - Conclusión
A estas alturas, debería tener un servidor VNC en funcionamiento, y debería poder operar su servidor Ubuntu usando una interfaz gráfica desde su computadora local.
Con el comando vncserver, cree la configuración inicial y especifique la contraseña de su servidor VNC para iniciar una visualización para más de un usuario. También se debe crear un nuevo archivo de servicio con un puerto diferente.
Echa un vistazo a algunos de nuestros otros tutoriales