Ilustración de un ordenador conectándose a una Raspberry Pi utilizando VNC

Ya hemos visto cómo podemos conectarnos a la Raspberry Pi por SSH. Sin embargo, a través del protocolo SSH solo podemos ejecutar comandos sin interfaz gráfica.

Si lo que queremos es conectarnos teniendo un escritorio como si estuviéramos delante de un monitor, lo que necesitamos es un escritorio remoto. Para este caso vamos a ver como conectarte a una Raspberry Pi utilizando VNC, que ya viene preinstalado en Raspbian.

Preparando la Raspberry para conectarte por VNC

El primer paso será conectarnos por SSH a nuestra Raspberry Pi. Una vez hemos iniciado sesión ejecutamos el siguiente comando

vncserver

Puede que nos pida que establezcamos una contraseña para la conexión, la ponemos y cuando termine de ejecutarse el programa tendremos la siguiente información:

Salida al ejecutarse el programa utilizado para conectarnos a una Raspberry Pi utilizando VNC

Como vemos, aparece la dirección IP de nuestra Raspberry con un «:1». Eso significa que se ha creado un escritorio remoto al que podemos conectarnos. Si ejecutásemos otra vez el comando anterior veríamos que pondría «:2», es decir, se habría creado un segundo escritorio remoto

Conectándonos al escritorio remoto

Para conectarnos al escritorio remoto existen muchos programas diferentes. Personalmente utilizo Real VNC Viewer ya que está disponible prácticamente para cualquier plataforma (Windows, Linux, Mac OS, Android, etc) y si nos hacemos una cuenta sincroniza las sesiones guardadas de forma que podemos conectarnos desde nuestro PC o nuestro móvil sin tener que configurar las cosas varias veces. Una vez lo hemos descargado e instalado se nos abrirá el programa

Pantalla principal del programa utilizado para conectarnos a nuestra Raspberry Pi por VNC

Para conectarnos a la Raspberry Pi tendremos que darle en «Archivo» > «Nueva conexión» o click derecho > «Nueva conexión» y se abrirá la siguiente ventana: 

Creación de una sesión en el programa utilizado para conectarnos a una Raspberry Pi por VNC

En el campo «VNC Server» pondremos la dirección IP seguida del «:1» del escritorio remoto, es decir, quedaría IP_RASPBERRY:1 (en mi caso «192.168.31.194:1») y en «Nombre» pondremos un alias descriptivo, por ejemplo «Mi Raspberry 3». Le damos a aceptar y se nos habrá creado un icono como este: 

Icono de haber creado una sesión VNC

Le damos doble click y comenzará el intento de conexión. Nos aparecerá un mensaje como el siguiente: 

Mensaje que aparece cuando intentamos conectarnos por VNC

Le damos a «Continuar» y nos pedirá el usuario y la contraseña para iniciar sesión y se nos iniciará el escritorio remoto: 

Ventana que aparece al conectarnos a la Raspberry Pi utilizando VNC en la que hay que introducir las credenciales

Escritorio remoto tras habernos conectado con éxito a nuestra Raspberry Pi por VNC

Si queremos podemos pasar por el proceso inicial de configuración y actualización siguiendo los pasos que se nos indican (entre los que está cambiar el idioma si queremos ponerlo en español). Con esto ya puedes conectarte a una Raspberry Pi utilizando VNC sin necesidad de tener conectado un monitor, teclado o ratón y desde cualquier dispositivo. 

Ejecutar VNC en el inicio y cambio de resolución

Tras seguir los pasos anteriores podemos conectarnos a la Raspberry Pi de forma remota sin problema. Sin embargo, si la Raspberry se reinicia o la apagamos y la volvemos a encender de forma manual tendremos que conectarnos por SSH para volver a ejecutar el comando «vncserver«.

Para evitar esto podemos hacer que cuando la Raspberry se encienda automáticamente inicie el servidor VNC, con lo que podremos conectarnos directamente sin pasar por el paso intermedio del SSH. Para ello vamos a utilizar el programa conocido como Crontab, el cual permite ejecutar comandos de forma periódica (por ejemplo cada 5 minutos ejecuta un programa determinado) o bien ejecutar comandos en el inicio del sistema (esta es la parte que nos interesa)

Comenzamos escribiendo el siguiente comando en una terminal: 

crontab -e

La primera vez que lo ejecutemos nos aparecerá un diálogo que nos pregunta con qué editor queremos abrir el fichero de configuración. Recomiendo utilizar «nano» si no estamos habituados a otros:

Selección del editor para crontab

Tenemos que pulsar la tecla 1 en el caso de la captura y Enter. Tras esto se nos abrirá un archivo de configuración como el siguiente: 

Archivo de crontab por defecto

Tenemos que bajar hasta el final del todo con las flechas y escribir lo siguiente: 

 @reboot vncserver

O si queremos que el escritorio remoto de VNC tenga una resolución determinada, por ejemplo, 1920×1080 (Full HD) podemos poner lo siguiente:

@reboot vncserver -randr 1920x1080

Para guardar los cambios utilizamos la combinación de teclas control + O (y pulsamos Enter) y para salir control + X. Podemos comprobar que funciona si reiniciamos la Raspberry Pi con el siguiente comando: 

sudo reboot

Cuando hayan pasado unos segundos y la Raspberry se haya reiniciado correctamente, volvemos al VNC Viewer y nos conectamos. Ahora la pantalla será mucho más grande ya que hemos cambiado la resolución.

Arreglar la terminal tras haber configurado VNC

La única pega que nos podemos encontrar cuando ejecutamos VNC en el inicio por Crontab, es que cuando abrimos una terminal en vez de abrirse con bash (cuando aparece en la terminal el texto verde «pi@raspberrypi:~ $») se abre con sh (solo aparece «$» y es menos cómoda de utilizar). Por ello, para cambiar de sh a bash podemos simplemente ejecutar el comando: 

/bin/bash

Para arreglarlo y que cada vez que se reinicie abramos una terminal con bash en vez de con sh tendremos que ejecutar un pequeño script en el inicio en vez de VNC directamente. Comenzaremos creando una carpeta que se llame «scripts» en la ruta «/home/pi«:

Carpeta donde guardar el script para crontab

Dentro de esa carpeta crearemos un archivo llamado «scriptVNC.sh« y copiaremos el siguiente contenido dentro de él.

#!/bin/bash
export SHELL=/bin/bash
vncserver -randr 1920x1080

Y le damos permisos de ejecución escribiendo el siguiente comando en una terminal abierta en el directorio donde tenemos el script:

chmod +x scriptVNC.sh

Tras esto, tenemos que volver a abrir el fichero de configuración de crontab con:

crontab -e

Borramos la línea que habíamos escrito anteriormente para ejecutar VNC en el inicio y escribimos lo siguiente:

@reboot /home/pi/scripts/scriptVNC.sh

Como antes, pulsamos control + O (y Enter) para guardar y para salir control + X. Reiniciamos la Raspberry Pi y ahora podremos conectarnos por VNC como antes pero cuando abramos una terminal tendremos bash en lugar de sh.

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos. Al hacer clic en el botón Aceptar, aceptas el uso de estas tecnologías y el procesamiento de sus datos para estos propósitos. Ver Política de cookies
Privacidad
A %d blogueros les gusta esto: