Come configurare l’Android Vnc Server

android vnc server from android clientIn questo post vi vorrei parlare della procedura di installazione e configurazione di un componente molto importante e utile: Android Vnc Server. Grazie a questa applicazione riuscirete a controllare da remoto un device Android. Questo tutorial è stato testato con i touch screen Ltouch, ma grazie a delle semplici modifiche è possibile estenderlo a quasi tutti i gli altri device Android.

Prerequisiti:
L’unico prerequisito è di avere un device rooted (i pannelli Ltouch lo sono già). Una conoscenza base del terminale di linux può aiutare a velocizzare la procedura di configurazione.

Prima di entrare nei dettagli del tutorial, presentiamo brevemente il tool principale grazie al quale ci permetterà di raggiungere l’obiettivo con successo. In particolare, sarà necessario l’utilizzo di un’applicazione demone che farà da Android Vnc Server, sarà in esecuzione in background e gestirà le connessioni in arrivo. Ci sono diverse app disponibili nel Google Play (grazie Jaime) che possono essere dei buoni candidati per il nostro Android Vnc Server, come per esempio:

Purtroppo i loro voti non sono molto elevati, sintomo che una corretta configurazione è necessaria. Li abbiamo provati tutti e tre ed abbiamo trovato che l’app Vnc Server può fare al caso nostro.

Gli step necessari sono i seguenti:

1. Scaricate ed installate l’applicazione Android Vnc Server.

2. I file dell’applicazione sono nella seguente cartella:

/data/data/com.schumi.vncs/files

Potete per esempio far partire l’Android Vnc Server usando il seguente comando (se siete all’interno della cartella):

./android_vncs -p 123456 -r 0 -s 100 -P 5901   -i enable

dove il parametro -p 123456 specifica la password (richiesta quando i client si collegano) e -P 5901 specifica la porta su cui bisogna connetersi.
Questo comando permette a tutti i client che conoscono la password di connettersi remotamente al device in questione. Da notare che la connessione è di sola lettura perché non sono stati forniti ulteriori parametri come per esempio le risorse input e touch (più sotto la spiegazione).

In funzione della versione Android installata e del tipo di device remoto utilizzato, le risorse di input e touch potrebbero essere mappate in file /dev diversi. Al fine di identificare i puntatori alle risorse che utilizzate dal vostro sistema vi consiglio di fare dei test usando il comando successivo.

Per i pannelli Ltouch, il comando da utilizzare è:

./android_vncs -t /dev/input/event2 -r 0 -s 100 -P 5901 -i enable -m fb -f /dev/graphics/fb0

3. L’ultimo passo consiste nell’eseguire l’Android Vnc Server durante il boot del device. Anche se una soluzione univoca non esiste, alcune direttive di massima possono essere utilizzate. Per esempio per i pannelli Ltouch, potete inserire il comando android_vncs all’interno di uno script che viene eseguito durante il boot di Android. Uno degli script si chiama install-recovery.sh e va messo all’interno della cartella /system/etc. Per poter aggiungere il file alla cartella, è necessario montarla con i permessi di lettura e scrittura:

adb remount
adb shell
cd /system/etc

Ora il file può essere creato e modificato per esempio grazie all’editor vi (questo editor è presente all’interno della suite di utilità busybox):

busybox vi install-recovery.sh

Ed infine ecco i comandi che dovranno essere aggiunti al file:

#!/system/bin/sh
/data/data/com.schumi.vncs/files/android_vncs -t /dev/input/event2 -r 0 -s 100 -P 5901 -i enable -m fb -f /dev/graphics/fb0

Salvate e chiudete il file ricordandovi di impostare i permessi 755. Fate ripartire il device Android. Ora sarete in grado di connettervi al device remoto grazie ad un qualsiasi client Vnc. Avrete solo bisogno del suo indirizzo IP, della porta (5901 nel nostro caso) e della password.

Tutto qua. Se avete trovato interessante l’articolo, condividetelo! 🙂 Come al solito, i commendi sono sempre ben accetti.