VNC (Virtual Network Computing)¶
Basado en: Documentation Raspberry Pi - Remote Access - VNC
Podemos usar el Raspberry Pi remotamente a través de VNC. Esta aplicación nos permite controlar la interfaz de escritorio de una computadora en la que esté corriendo un VNC Server desde otra computadora corriendo un VNC Viewer. La idea es que podamos controlar el Raspberry Pi desde una ventana en nuestra computadora o una aplicación en nuestro smartphone como si estuviésemos trabajando frente al Raspberry Pi mismo.
VNC Connect de RealVNC viene incluido en la distribución Raspbian. Esta consiste de un VNC Server y un VNC Viewer.
Debemos habilitando el VNC Server antes de poder usarlo, dándonos acceso remoto a la interfaz gráfica que corre en el Raspberry Pi. Sin embargo, también podemos usar el VNC Server para obtener acceso gráfico a nuestro Raspberry Pi si es headless (es decir, no está conectado a un monitor) o no está corriendo un escritorio gráfico. Ver la sección Creando un escritorio virtual.
Habilitando el VNC Server¶
En el Raspberry Pi asegurarnos que tenemos la última versión de VNC Connect:
$ sudo apt update
$ sudo apt install realvnc-vnc-server realvnc-vnc-viewer
Para habilitar VNC Server podemos hacerlo de forma gráfica o por el terminal:
Habilitando VNC Server de forma gráfica¶
Seguir documentación: Habilitar acceso remoto
Habilitando VNC Server en el terminal¶
$ sudo raspi-config
Escoger la opción Interfacing Options y seleccionar VNC > Yes.
Estableciendo conexión a nuestro Raspberry Pi con VNC Viewer¶
Existen 2 formas para conectarnos a nuestro Raspberry Pi:
Estableciendo una conexión directa¶
Las conexiones directas son una forma simple y rápida de conexión a través de la misma red de nuestro Raspberry Pi.
- Obtener la dirección IP de la interfaz de red de nuestro Raspberry Pi usando
ifconfig
oip addr
. - Desde el dispositivo desde el cual controlaremos el Raspberry Pi, descargar VNC Viewer. Preferentemente la aplicación de RealVNC.
- Ingresar la dirección IP de nuestro Raspberry Pi en el VNC Viewer de la computadora:
Estableciendo una conexión cloud¶
Podemos utilizar el servicio en la nube de RealVNC para conectarnos a nuestro Raspberry Pi a través de Internet. Las conexiones cloud son encriptadas end-to-end y no es necesaria una reconfiguración de firewall o router. Tampoco es necesario saber la dirección IP de nuestro Raspberry Pi.
- Primero debemos crear una cuenta en RealVNC de forma gratuita.
- En el VNC Server del Raspberry Pi iniciar sesión yendo a la opción Licensing.
- En la computadora que usaremos para controlar el Raspberry Pi, usar VNC Viewer (de RealVNC)
- Una vez que hemos iniciado sesión desde el VNC Viewer con la misma cuenta usada para el VNC Server del Raspberry Pi veremos un nuevo equipo disponible para conectarnos en la sección de
Team
:
Autenticándonos al VNC Server¶
Para completar cualquier método conexión, ya sea Estableciendo una conexión directa o Estableciendo una conexión cloud, debemos autenticarnos en el VNC Server.
Si estamos conectándonos de una aplicación VNC Viewer compatible de RealVNC, ingresar el usuario y password del Raspberry Pi que normalmente usaríamos para usar loguearnos en nuestra cuenta de usuario. Por defecto, las credenciales son pi:raspberry
.
Creando un escritorio virtual¶
Si nuestro Raspberry Pi es headless (es decir, no está conectado a un monitor) o no está corriendo un escritorio gráfico podemos usar VNC Server para crear un escritorio virtual (virtual desktop). Brindándonos acceso remoto gráfico. Este escritorio virtual solo existe en la memoria de nuestro Raspberry Pi:
Para crear y conectarnos a un escritorio virtual:
- En nuestro Raspberry Pi (usando el terminal o vía SSH) correr:
$ vncserver
VNC(R) Server 6.5.0 (r41824) ARMv6 (Aug 16 2019 00:24:44)
[...]
Running applications in /etc/vnc/xstartup
VNC Server catchphrase: "Instant amigo printer. Russian Boston orca."
signature: 61-7f-1d-5d-fa-37-a6-v7
Log file is /home/pi/.vnc/raspberrypi:1.log
New desktop is raspberrypi:1 (192.168.1.24:1)
Important
Tomar nota de la dirección IP y del identificador que VNC Server usa para este escritorio virtual creado (display number). En este caso: 192.168.1.24:1
- En el dispositivo que usaremos para controlar el Raspberry Pi ingresar esta información en el VNC Viewer.
- Para eliminar un escritorio virtual correr el siguiente comando:
# vncserver -kill :<display-number>
$ vncserver -kill :1