lunes, 13 de enero de 2014

Manejar la Raspberry Pi remotamente sin teclado ni ratón mediante VNC


Muchos de los que tenemos Raspberry Pi, nos habremos encontrado en ciertas situaciones en las que no disponemos de un teclado y ratón disponibles para manejar el mini-PC. En estos casos hay algo que se puede hacer, y es utilizar las tecnología VNC y SSH para manejarlo remotamente desde nuestro PC Linux o desde nuestro dispositivo móvil Android. 

Lo primero que debemos hacer es saber nuestra IP pública. Si ambos equipos están conectados a la misma red nos resultará más fácil, pero si la Raspi se encuentra en otro lugar conectado a otra red, primero deberemos conocer la IP de dicha red. Para ello podemos, desde el terminal de la Raspi, usar distintos comandos, pero quizás lo más sencillo sea esto: 


curl icanhazip.com

Bien, ahora vamos a iniciar SSH con nuestra Raspberry Pi. Para ello tecleamos en el terminal:

ssh nombre_usuario@IP

Sustituyendo IP por la correspondiente dirección de tu Raspberry Pi y nombre_usuario por el nombre que hayamos puesto a la máquina Raspi (si no lo modificastes, por defecto es “pi”, sin comillas). Entonces verás que te pide la contraseña, que si no la has cambiado, por defecto es “raspberry” sin comillas. En caso de haberla personalizado, introduce la tuya. 

Ahora vamos a instalar un servidor VNC que nos servirá para hacer la conexión remota. Existen muchos gratuitos, pero quizás el más ligero para el hardware de la Pi sea Tightvncserver:

sudo apt-get install tightvncserver

Una vez termine el proceso de instalación, lo ejecutamos con unos parámetros para configurar la resolución de la ventana remota, la profundidad de color y color. En mi caso he utilizado la siguiente:

tightvncserver -geometry 800x600 -depth 16 -pixelformat rgb565

Ahora, como es la primera vez que se ejecuta, te pedirá una contraseña  para la sesión VNC y el acceso remoto. Puee que también te pida una contraseña read-only, pero es opcional. 

Evidentemente, para los pasos anteriores necesita estar frente a su Raspberry Pi y disponer de teclado para realizar dichas configuraciones, pero una vez realizado podrá manejarla remotamente sin necesidad de mandos, que es de lo que trata este artículo...

Ya podrás acceder remotamente desde tu PC o Android facilmente y manejar la Raspberry Pi desde cualquier lugar y utilizando el teclado y el ratón de tu equipo (o la pantalla tactil de tu smartphone o tablet) como si estuvieses delante de la Raspi. 

¿Cómo acceder? Pues puedes instalar la app ConnectBox en tu Android, utilizar aplicaciones para el navegador Chrome o Chromium como VNC Viewer y con software como UltraVNC... Sea cual sea el método que elija, básicamente el procedimiento de conexión es similar. Le pedirá unos datos para la conexión y tras introducirlos podrá ver en pantalla su escritorio de Raspi y moverse por él. 

Un último consejo. Si usted no está presente en el lugar donde se encuentra la Raspberry Pi, puede que haya un corte de luz o cualquier otro motivo que cause un apagado del mini-PC. Esto desconfiguraría lo anterior. Por eso, es recomendable programar el inicio del servidor VNC al iniciar la Raspberry Pi. Así, aunque ocurra eso, siempre dispondrá de acceso a ella sin volver a configurarlo presencialmente. Para ello, desde su Raspi localice el fichero /etc/rc.local y añada la siguiente línea (con su editor de texto favorito):

su -c “/usr/bin/tightvncserver -geometry 800x600 -depth 16 -pixelformat rgb565” nom_usuario

Como vez es la misma linea que introducimos antes para iniciar VNC, pero esta vez precedida de otra orden y encuadrada entre comillas. Además, tras ella debemos poner el nombre de usuario. Guarda los cambios y reinicia la Raspi para comprobar que ha funcionado correctamente. Si VNC sigue en ejecución, todo esta OK.