Instalar y ejecutar VNCServer al inicio del sistema

Si quieres controlar una Raspberry Pi de forma remota, en este artículo veremos como efectuar la instalación y configuración. De esta forma te librarás de elementos tales como un monitor, teclado/ratón, etcétera. Es lo que se conoce como un servidor «headless» (sin cabeza).
Ya he hablado anteriormente sobre programas para acceder a equipos de forma remota. Pero es obvio que, para acceder con un cliente, antes deberemos tener un equipo (al que nos vamos a conectar) que actúe como servidor.
Este procedimiento está particularmente enfocado hacia Raspberry Pi (sistema operativo Raspbian), pero puede llevarse a cabo de forma similar en cualquiera basado en Debian o Ubuntu.
Para empezar, accedermos de forma normal para instalar VNC en nuestra Raspberry Pi o servidor deseado. Es decir, o bien usaremos una conexión SSH via Putty o similar.
Instalar VNCServer
Ejecutaremos estos comandos:
sudo apt-get update
sudo apt-get install tightvncserver
Confirmaremos en ambos casos pulsando Y e Intro.
Ahora podemos iniciar el servidor VNC de la siguiente forma:
vncserver :1
En el ejemplo, yo ya lo he realizado (por eso pongo el escritorio número «2») y, la primera vez que lo escribamos, nos pedirá definir una contraseña de acceso. En adelante, lo que veremos será similar a esto:

Cuidado, las contraseñas se cortan a los 8 caracteres.
Tomaremos nota de la IP o el nombre de host. Ahora ya podemos conectarnos al servidor VNC, aunque obviamente deberemos instalar un cliente VNC en el equipo desde el cual accederemos. UltraVNC es una opción liviana y válida. También están TightVNC, RealVNC…

En el ejemplo, vemos la interfaz de UltraVNC Viewer. Hemos conectado al host remoto y se nos pide contraseña para acceder.

Los puertos predefinidos para este protocolo de comunicación comprenden del 5901 al 5903. Se incrementará en un número con cada instancia nueva que arranquemos. Así la sesión 1 utilizará el 5901, la 2 el 5902, etcétera.
Troubleshooting
Si tenemos problemas al comunicarnos por este puerto (se deniega la conexión), desactivaremos el firewall temporalmente
sudo systemctl status firewalld.service sudo systemctl stop firewalld.service
O bien, probaremos los puertos para saber si están esuchando.
Asignar autoarranque de servidor VNC en Raspbian
Ahora que hemos realizado nuestra primera conexión con éxito, llega el momento de hacer que el agente se ejecute de forma permanente con autoarranque. Así nos evitaremos ejecutar lo anterior tras el arranque del equipo.
Este método solamente sirve si hemos configurado la Raspi para hacer autologon o inicio de sesión automática.
Para ello haremos lo siguiente.
cd /home/pi cd .config/ mkdir autostart

Ahora crearemos el siguiente archivo:
nano tightvnc.desktop
Y lo completaremos con este contenido:
[Desktop Entry] Type=Application Name=TightVNC Exec=vncserver :1 StartupNotify=false

Pulsaremos CONTROL + X seguido de Y para salvar los cambios.
Categories
deweloper View All
Trabajo como consultor de ciberseguridad y me gusta lo que hago. Aficionado a la informática / tecnología en general, me gusta compartir con la gente lo poco que sé. También soy aficionado al deporte y los videojuegos.