VNC es una de las formas actuales que nos permite conectarnos de manera remota con otros equipos (Windows, macOS, Linux, etc) para realizar diversos trabajos allí, de soporte o administrativos, con VNC se accede a una pantalla compartida Linux y controlar todo lo que está en ese equipo, esto ayuda a reducir tiempos de desplazamiento y a ofrecer un trabajo en tiempo real y con velocidad.
- Simple de implementar
- Opciones de acceso atendido y desatendido
- Conectividad en la nube
- Es posible la transferencia de archivos, impresión y chat en tiempo real
- Posee encriptación de sesión AES de 256 bits
- Es posible hacer uso de autenticación multifactorial
- Control de acceso detallado
Aprenderemos a instalar VNC en Ubuntu 20.04 y con este método disponer de una alternativa para recibir o brindar soporte remoto.
1. Instalar VNC en Ubuntu 20.04
El primer paso a dar será actualizar el sistema:
sudo apt update
Una vez el sistema haya sido actualizado, vamos a instalar el administrador de pantalla Lightdm con el siguiente comando:
sudo apt install lightdm
Ingresamos la letra S para continuar con la descarga e instalación, luego se desplegará lo siguiente:
Allí seleccionamos “lightdm” y continuamos la instalación. El objetivo de Lightdm es ser el estándar para el sistema de ventanas X11 y para Wayland.
Después de esto reiniciamos el sistema para completar el proceso, accedemos a la pantalla de inicio de sesión en donde vemos la nueva estructura con lightdm:
Iniciamos sesión y en la terminal vamos a ejecutar lo siguiente:
sudo apt install x11vnc
Confirmamos la descarga con la letra S:
2. Activar VNC en Ubuntu 20.04
Al usar x11vnc, es posible ver de forma remota (y poder trabajar) con pantallas X reales a través de alguno de los visores VNC disponibles en la actualidad.
Algunas de las características de x11vnc son:
- Cuenta con cifrado SSL / TLS incorporado
- Autenticación RSA de 2048 bits, incluida la compatibilidad con VeNCrypt
- Soporte de inicio de sesión de cuenta y contraseña UNIX
- Escalado del lado del servidor
- HTTPS / HTTP + VNC de puerto único
- Publicidad del servicio Zeroconf
- Transferencia de archivos TightVNC y UltraVNC
- Cuenta con un modo de Servicios de Terminal encriptado (opciones -create, -svc o -xdmsvc) basado en nombres de usuario
Listamos la IP de Ubuntu 20.04 con el comando:
ip add
Con esta dirección accederemos desde algún cliente VNC a Ubuntu 20.04. En la terminal ejecutamos lo siguiente para iniciar VNC. Esto activará VNC en Ubuntu 20.04.
x11vnc
Desde algún equipo remoto, en este caso Windows 10, abrimos el cliente VNC e ingresamos la IP de Ubuntu 20.04:
Pulsamos Enter y veremos la siguiente advertencia:
Damos clic en Continuar y accederemos remotamente a Ubuntu 20.04:
Ahora en Ubuntu 20.04 vamos a crear el siguiente archivo:
sudo nano /lib/systemd/system/x11vnc.service
Allí vamos a ingresar lo siguiente:
[Unit] Description=x11vnc service After=display-manager.service network.target syslog.target [Service] Type=simple ExecStart=/usr/bin/x11vnc -forever -display :0 -auth guess -passwd password ExecStop=/usr/bin/killall x11vnc Restart=on-failure [Install] WantedBy=multi-user.target
Los campos ingresados son:
- Se da actividad solo después de que se hayan iniciado algunos otros servicios y se hayan alcanzado los puntos de destino
- x11vnc crea un subproceso a partir de -forever.
- ExecStart y Stop permiten que x11vnc se autoinicie en caso de fallos
- El servicio se iniciará antes de que el proceso alcance el objetivo multiusuario
Guardamos los cambios usando la combinación de teclas siguiente:
Ctrl + O
Salimos del editor usando:
Ctrl + X
Reiniciamos el demonio para aplicar los cambios:
systemctl daemon-reload
Habilitamos el servicio x11vnc:
systemctl enable x11vnc.service
Debemos ingresar la contraseña para aplicar los cambios:
Como resultado veremos lo siguiente:
Ahora iniciamos el servicio x11vnc:
systemctl start x11vnc.service
Comprobamos su estado actual:
systemctl status x11vnc.service
Vemos que su estado es activo y en ejecución. Vamos de nuevo a Windows 10 y al intentar establecer la conexión por VNC debemos ingresar una contraseña que hemos establecido en el archivo creado en Ubuntu 20.04:
Iniciamos sesión remota con Ubuntu 20.04:
Un punto clave es validar que se puede iniciar sesión desde la pantalla de "inicio de sesión" remotamente, para ello vamos a Configuración y en “Privacidad – Bloqueo de pantalla” vamos a desactivar las opciones disponibles y establecer en 1 minuto el tiempo de retardo:
Cerramos la sesión y desde Windows 10 validamos que sea posible establecer la conexión, registrar la contraseña e iniciar sesión en Ubuntu 20.04:
Con estos pasos estaremos listos para usar VNC desde y hacia Ubuntu 20.04 en todas las tareas que conlleven soporte o gestión remota.
Funciona a medias, cuando se bloquea la sesion en el vnc viewer no se pierde la conexión, pero queda la pantalla en negro. ¿como se soluciona eso?