bclose

Acceso remoto gráfico

Usando el VNC client para conectar en remoto

Acceso remoto gráfico

 

 

    • Instalando un acceso remoto gráfico a nuestra Raspberry Pi 3.
    • Presentando el VNC server e instalándolo.
    • Configurando el cliente remoto: VNC client.
    • Jugando con los accesos en remoto y algunos comandos imprescindibles para su administración
 

 

Material requerido.

Vista lateral Una Raspberry Pi 3, aunque valen la 2 y la 1

 

Configurando el acceso remoto en Modo Gráfico

 

En la última sesión vimos que podemos acceder remotamente a nuestra Raspberry Pi, mediante el uso del SSH. Esto es muy cómodo porque nos evita duplicar el teclado, ratón, pantalla en nuestro escritorio (Que es donde la mayoría tenemos nuestra Raspberry)

Además, este acceso remoto, nos permite colocar nuestra Raspi en lugares que inicialmente pueden parecer menos frecuentes como localizaciones exteriores o jardines y también robots o quizás, tomas de datos en lugares poco accesibles.

Acceder remotamente a nuestro PC es una de esas cosas que cuando empiezas a usarlas se te van ocurriendo cantidad de aplicaciones que antes ni te imaginabas que fueran posibles, y que de repente se vuelven imprescindibles.

Usando el SSH podemos acceder de una forma rápida a estos equipos remotos, pero seamos razonables, la mayor parte de los que nos leéis, estáis poco dispuestos a aprender los comandos necesarios para el manejo en remoto del Shell de Linux (Aunque seguiremos insistiendo), y por eso, conviene que veamos como habilitar ese acceso remoto a nuestra Raspberry con algún sistema que nos permita abrir una sesión de entorno gráfico, que yo sé que es el que os gusta, y porque creéis que es más fácil (Aunque al final, lamento informaros, que acabareis más de una vez con los comandos que tanto disfrutáis)

Hay varias maneras de ejecutar sesiones remotas en modo grafico en nuestras Raspberry, aunque las más habituales son VNC y Teamviewer. Ambos programas disponen de soluciones útiles y sobre todo muy extendidas a nivel profesional si estáis en entorno corporativo.

Pero en el mundo Raspbian es más frecuente usar VNC para esto y por eso, dedicaremos esta sesión a ver cómo lograr ese acceso remoto  mediante VNC, una herramienta excepcional, que lleva en el mercado más años de los que recuerdo y que he usado para acceder a lo que se te ocurra, desde servidores Windows en el trabajo, a mi PC cuando me voy de vacaciones.

VNC está disponible en dos sabores: Servidor y Cliente. Naturalmente la idea es que puedes instalar el servidor en aquel PC que quieres controlar en remoto (Nuestra amada Raspberry incluida) y basta con instalar el cliente en el equipo que vamos a usar para controlarlo.

Os interesa saber que hay servidor de VNC Server para todas las plataformas que podáis imaginar, incluyendo desde luego, Windows, OSX, Linux y Unix varios.

Y en cuanto al cliente hay aún más variedad, porque corre en todas las plataformas que corre el servidor y además corre en Android e IOS, para que podáis controlar vuestra Raspberry o PC desde el teléfono móvil (Buen truco ¿A que si?)

Pero es importante que comprendáis que necesitábamos hacer la sesión anterior para que viéramos como fijar una IP estática en nuestro equipo a controlar, porque es imprescindible disponer de la misma dirección siempre que vaya a acceder en remoto, ya que de lo contrario, más de una vez no podríamos encontrar el servidor (Al haber cambiado su dirección)

Así que si más historias vamos a ver como instalar VNC en nuestra Raspberry

 

Instalando VNC server en Raspberry Pi

 

Como es habitual resulta bastante fácil instalar algo cuando sabes cómo se llama, pero primero conviene asegurarnos de que estamos al día y actualizar nuestro sistema antes de nada.

Para poner al día nuestra Raspberry Pi basta con hacer en una ventana de comandos (Ya os lo dije):

sudo apt-get update
sudo apt-get upgrade

Antes de instalar cualquier paquete es Buena política asegurarnos de que estamos al día de las últimas actualizaciones, y si hace poco de la última actualización el proceso será muy rápido, porque los cambios no serán muchos.

Cuando acabe la actualización ya podemos instalar el VNC con:

sudo apt-get install tightvncserver

Como es habitual os saldrá un montón de información sin sentido en la pantalla y finalmente acabara dejándote listo el vncserver, pero aún hay que hacerlo correr, y para ello teclead:

vncserver :1

La primera vez que ejecutéis este comando, VNC os pedirá una contraseña de acceso en remoto para poder usar el servicio remoto. Tenéis que proporcionársela ahora:

consola instalando vnc

Esta es la contraseña que os pedirá para conectar, y os va a pedir que la confirméis para evitar errores.

A continuación os ofrecerá incluir una segunda contraseña que permita ver la pantalla, pero no interactuar con ella, algo que por regla general no os preocupara demasiado. Dad intro y listo.

Y eso es todo. Ya podemos acceder remotamente a nuestra Raspberry Pi. Veamos cómo.

 

Instalando el cliente de VNC

 

Para acceder a nuestra Raspberry de modo remoto basta con instalar un cliente VNC en nuestro PC o tableta o lo que se os ocurra. Podéis descargarlo desde aquí:

Como veis, tenéis versión de cliente VNC para casi cualquier plataforma. Descargad la que prefiráis e instalarla. Yo voy a usar la versión Windows pero cualquier otra es muy similar, y cuando la arranquéis veréis algo así:

Direccion de acceso

En Address tenéis que poner la dirección IP de vuestro servidor VNC en la Raspberry. En mi caso es 192.168.1.100, pero vosotros sabéis que dirección IP estática asignasteis. Y un pequeño detalle, aseguraros de escribir: 1 al final à 192.168.1.100:1

Una vez listo y sin complicarnos mucho más, pulsad intro. Seguramente recibirás un mensaje como este:

Mensaje de no encriptacion

Es normal. Básicamente dice que no estamos encriptando la comunicación con nuestra Raspberry y nos avisa de que el enemigo puede espiarnos. Si no tenéis ni idea de quien pueda ser el enemigo, ignora esta advertencia con un intro y listo. Aparecerá esto otro:

vnc 4

Recordad que pusimos una contraseña de acceso. Es buen momento para que se la deis y ya estamos:

Pantalla remota

Ya tenemos un acceso remoto a nuestra Raspberry sin necesidad de conectar teclado ratón y pantalla. Podéis hacer desde aquí cualquier cosa que podáis hacer desde la consola principal.

Escritorio windows con acceso remoto

 

 

Jugando con el acceso remoto y VNC

 

Una de las cosas que resultan curiosas con el VNC es que podemos acceder con más de un terminal virtual a la misma Raspberry. Por ejemplo vamos a arrancar una segunda sesión con el VNC client contra la misma dirección.

 
  • En Windows esto supone pulsar el icono de VNC client con la tecla shift pulsada 

Si volvemos a invocar por segunda vez una sesion con 192.168.1.100:1, obtendremos una segunda ventana que es una copia de la terminal que abrimos en la ventana anterior, y los cambios que hagamos en una se reflejaran en la otra (Porque VNC entiende que es la misma sesión) y replica lo mismo en una ventana que en la otra, aunque estén una en un PC y la otra en tu tableta. Sirve para compartir la terminal entre varios.

Multiples ventanas misma sesion

Pero puede ocurrir que quieras tener acceso remoto diferenciado para varios usuarios diferentes cada uno con propia sesión y sus propias ventanas. ¿Es posible?

Como ya habréis adivinado es pan comido. El truco está en la línea con la que invocamos el arranque del vncserver. Si recordáis, usamos

Vncserver :1

En aquel momento, ignoramos elegantemente ese extraño: 1 que poníamos al final, pero ahora entenderéis porque: significa ID de sesión. Si ahora escribir en la consola

Vncserver :2

Podéis entonces invocar el cliente VNC con esta segunda sesión diferenciada:

Terminal 2

Y ahora disponéis de una segunda terminal gráfica a vuestra Raspberry, que podéis manejar independientemente.

Multiples ventanas graficas

Podéis crear tantas sesiones como queráis solo limitado por la disponibilidad de memoria RAM en vuestra Rasberry (Que por cierto no es mucha, 1 Gb)

Por eso también, si vuestra intención es acceder en remoto a vuestra Raspberry Pi, no tiene sentido arrancar el Xserver en local (Que es la sesión 0) porque es un desperdicio de recursos escasos, y conviene cerrarlo, y ahorrar memoria:

service lightdm stop

Este sería un buen momento para mencionar también que podemos arrancar nuestro VNC server con la geometría que queramos, en cuanto a resolución o colores disponibles. Por ejemplo podemos especificar algo así:

vncserver :1 -geometry 1920x1080 -depth 24

Que supone lanzar una sesión de X11 de 1920 x 1080 puntos (En full HD) con 24 bits de color. Esto es cantidad de mono y todo el mundo lo recomienda por ahí, pero hablando en serio, aunque vuestra Raspi lo soporta no tiene mucho sentido.

Es mucho más sensato lanzar sesiones sin parámetros que te coloca una ventana de 1000 x 800 pixel y 16 bits de color que son más que de sobra. El equivalente seria:

Vncserver :3 –geometry 1000x800 –depth 16

E incluso con solo 8 bits de color, tenemos 256 tonos que si  bien no sirven para fotografía, son más que suficientes para tener una visión correcta en un acceso remoto que busca simplemente administrar un servidor web o de ficheros por ejemplo, y de paso ahorrarnos una memoria RAM que puede ser preciosa para otras cuestiones.

Si haciendo todas estas pruebas has acabado abriendo más sesiones de vncserver de las que consideras razonables, no es necesario que reinicies para acabar con ellas (Que sé que es lo que se te ha ocurrido)  y liberar recursos. Basta con que hagas:

vncserver  –kill  :2

Nos quedaría tocar el tema de no tener que iniciar manualmente el servidor VNC cada vez que re arrancamos nuestra Raspberry, pero me temo que es un tema excesivamente duro para este momento y además ya me he extendido más de lo que pretendía por hoy y ya es la hora del recreo.

Así que seguiremos el próximo día.

 

Resumen de la sesión

 

 

    • Hemos visto porque y como instalar el sevidor VNC.
    • Vimos como instalar el cliente VNC en el equipo remoto.
    • vimos diferentes posibilidades con el cliente.