VNC: come configurare il vostro Raspberry Pi per il Virtual Network Computing
Malgrado le piccole dimensioni il Raspberry Pi sa come piacere grazie alle sue diverse interfacce (USB, rete) e alle sue buone prestazioni. Non è un caso che il mini computer faccia parte di molti progetti DIY elettronici e risulti una piattaforma richiesta per le applicazioni server dei più diversi tipi. L’utilizzo diretto del Pi tramite mouse, tastiera e monitor non è perciò sempre possibile o risulta spesso impraticabile, quindi viene utilizzato frequentemente un PC desktop separato, che gestisce da remoto il sistema operativo e le risorse del Raspberry.
Di solito viene stabilita per questo scopo una connessione SSH al mini computer, che consente un accesso facile e veloce alla riga di comando. In alternativa consente anche l’utilizzo tramite accesso remoto di un server VNC sul Raspberry Pi nell’interfaccia grafica.
Server VNC sul Raspberry Pi: che cos’è in realtà?
Dietro il VNC (Virtual Network Computing) si nasconde un software client-server con cui si può visualizzare e controllare il contenuto dello schermo del sistema desiderato (server) su un altro sistema (client). Per questo scopo le immissioni da tastiera così come i movimenti del mouse e i clic lato client vengono trasmessi direttamente al computer remoto. Se quindi installate e attivate un VNC sul Raspberry Pi, potete installare, configurare e gestire comodamente il mini computer da un altro PC.
La base del server VNC è il protocollo di rete multipiattaforma Remote Framebuffer Protocol (RFB), che trasmette i contenuti come bitmaps e utilizza la porta TCP 5900. Visto che realizza connessioni senza stato, le sessioni remote stabilite non si perdono in caso di interruzioni momentanee o di un cambio del client VNC.
Questa guida spiega come configurare un server VNC sul Raspberry Pi per utilizzarlo a distanza. Ovviamente è possibile anche il contrario, cioè installare un client VNC sul mini computer e controllare così un altro PC tramite accesso remoto.
Configurare il server VNC sul Raspberry Pi: requisiti
Il software VNC è concepito di modo che funzioni nella maniera più efficiente possibile. Più risorse richiedono le altre applicazioni che funzionano sul Raspberry Pi, più rilevante risulterà questo punto. Essenzialmente non ci sono limiti nella scelta del modello del Raspberry Pi: potete configurare ed eseguire un server VNC sia su un Pi di prima generazione sia sulle versioni più recenti.
Per molto tempo la scelta del software adatto ha oscillato tra una di queste due soluzioni, X11VNC o TightVNC. Entrambe sono indicate per il Raspberry Pi e sono ancora oggi utilizzate sul mini computer. Da quando è stata integrata l’interfaccia utente PIXEL nel Raspbian, il sistema operativo standard ha così di default con VNC Connect una propria applicazione di Virtual Network Computing, che dovete solo attivare per beneficiare della tecnologia di controllo remoto. Il prerequisito essenziale è che utilizziate almeno Raspbian Jessie, altrimenti dovete prima scaricare e installare il software client-server.
VNC Connect e X11VNC consentono l’accesso diretto end-to-end su ciò che è attualmente visibile sullo schermo del Rasperry Pi. Invece, TightVNC trasmette le versioni virtuali della riproduzione originale e consente così la registrazione contemporanea di più utenti sul server VNC (in modo analogo al concetto tradizionale di terminale).
Tutorial: come si configura un server VNC sul Raspberry Pi?
Nel seguente tutorial vi mostriamo come si può configurare e utilizzare un server VNC sul mini computer. A questo scopo prendiamo ad esempio l’installazione e la configurazione facile dei componenti client e server di VNC Connect, la già citata suite standard VNC di Raspbian.
Primo passaggio: installare o aggiornare VNC Connect sul Raspberry Pi
Nel primo passaggio assicuratevi che sul vostro Raspberry Pi sia installata la versione corrente di VNC Connect, dando i seguenti comandi nel terminale:
sudo apt-get update
sudo apt-get install realvnc-vnc-server
sudp apt-get install realvnc-vnc-viewer
Raspbian aggiorna di conseguenza sia l’applicazione server sia il client (viewer). Potete utilizzare il mini computer teoricamente anche per l’accesso al server VNC, argomento che però qui non tratteremo.
Se utilizzate una versione precedente di Raspbian o un altro sistema operativo sul vostro Raspberry Pi, dovete prima di tutto scaricare VNC Connect. Quindi richiamate la pagina ufficiale dello sviluppatore RealVNC e scegliete nel Download Center il file di installazione per il Raspberry Pi.
Secondo passaggio: attivare il server VNC
Non appena avete aggiornato il software, è possibile avviare il server. Date il comando tramite l’interfaccia utente grafica o la riga di comando.
Per prima cosa aprite semplicemente il menu principale (l’icona del lampone) e scegliete infine i punti “Impostazioni” e “Configurazione del Raspberry Pi”. Spostatevi nella tab “Interfacce” e impostate “Attivato” alla voce “VNC”.
Se volete attivare il server VNC sul vostro Raspberry Pi tramite la riga di comando, avete bisogno del tool di configurazione raspi-config, che si può avviare nel modo seguente:
sudo raspi-config
Scegliete “Interfacing Options” dal menu, selezionate l’opzione “VNC” e infine attivatela con “Yes”. Dopo l’attivazione del server si avvierà sempre automaticamente quando effettuate il boot del Raspberry Pi.
La disattivazione del server VNC funziona allo stesso modo: scegliete semplicemente le opzioni inverse “Disattivato” o “No”.
Terzo passaggio: verificare le impostazioni della connessione
Se avete installato e attivato VNC Connect sul Raspberry Pi, al riavvio del mini computer trovate l’icona per il server VNC nella barra del sistema dell’interfaccia utente. Cliccando sull’icona, si aprirà una finestra di riepilogo sulla connettività e la sicurezza dell’applicazione per l’accesso remoto. Il lato sinistro mostra l’IP del vostro Raspberry, di cui avete bisogno per stabilire una connessione con il client VNC. Annotate l’indirizzo per averlo a disposizione successivamente sul computer esterno. In alternativa si può scoprire il proprio IP tramite il seguente comando del terminale:
hostname -I
Sul lato destro trovate una firma e le parole chiave che servono per la verifica dell’identità. Entrambe devono essere visualizzate con un avviso quando avviate successivamente la connessione del VNC. Potete così assicurarvi che il sistema di destinazione rilevato sia effettivamente il vostro Raspberry Pi.
Se volete accedere con regolarità al vostro Raspberry Pi tramite VNC, si consiglia di assegnare un indirizzo IP fisso al mini computer.
Quarto passaggio: installare VNC Viewer su un dispositivo esterno
Dopo che avete messo in funzione il server VNC sul Raspberry Pi, concentratevi ora sul computer separato dal quale volete controllare a distanza il mini computer. Su questo installate prima di tutto l’applicazione client, VNC Viewer. A tal fine RealVNC mette a disposizione dei file di installazione gratuiti per diversi sistemi operativi. Così si può installare il client sui PC Windows, macOS, Linux, ecc. Inoltre ci sono app per Android e iOS così come un’estensione per Chrome, che grazie al VNC Viewer può essere eseguita tramite il browser di Google. Scaricate nel Download Center di Real VNC la relativa versione e proseguite con la classica installazione.
Quinto passaggio: stabilire una connessione diretta al Raspberry Pi (nella rete locale)
Il modo più facile e veloce per utilizzare la tecnologia VNC consiste in una connessione diretta tra il computer (client) e il Raspberry Pi. Il prerequisito è che entrambi i dispositivi siano connessi con la stessa rete locale (LAN o Wi-Fi) e che si conosca l’IP del Raspberry. In questo caso avviate VNC Viewer, inserite l’indirizzo nell’apposita barra e avviate la connessione premendo il tasto “Connect”.
Il client vi presenta poi l’avviso già nominato (con firma e parole chiave) per la verifica dell’identità. Se si tratta di informazioni che sono già state inserite prima dal server VNC, potete proseguire.
Successivamente vi viene richiesto di inserire il nome utente e la password, ovvero i dati dell’account utente del Raspberry Pi, che sono di default il nome utente “pi” con la password “raspberry”. Per impedire l’accesso a utenti non autorizzati, si consiglia di cambiare questi dati standard (ancora meglio se prima dell’avvio del server VNC).
Sesto passaggio: stabilire una connessione cloud al server VNC sul Raspberry Pi
Se non volete o non potete collegare il client e il Raspberry Pi tramite una rete locale, avete invece la possibilità di iniziare una sessione VNC tramite Internet. Per connessioni cloud di questo tipo, che sono gratuite per scopi non commerciali e si contraddistinguono per una crittografia end-to-end, avete bisogno solo di un account RealVNC, che si crea in pochi secondi in modo completamente gratuito. Per il processo di registrazione aprite ancora una volta la pagina ufficiale di RealVNC e inserite un indirizzo e-mail valido nel box Sign up.
Ora avete bisogno per ben due volte dei dati del login del nuovo account RealVNC (indirizzo e-mail e password), vale a dire nell’applicazione per il server VNC sul Raspberry Pi e lato client nel VNC Viewer. Nel programma del server aggiungete un collegamento all’account, inserendo l’e-mail e la password alla voce del menu “Licensing” e infine cliccando su “Sign in”. Sul dispositivo client vi registrate semplicemente con l’account nel VNC Viewer. Successivamente il Raspberry Pi viene elencato automaticamente come host disponibile e basta un semplice doppio clic sul simbolo corrispondente per stabilire la connessione VNC.
Settimo passaggio: regolare la risoluzione dello schermo del Raspberry Pi
Una volta instaurata la connessione al server VNC sul Raspberry Pi, può essere necessario modificare la risoluzione dello schermo del mini computer per due motivi:
- La performance è limitata, visto che la risoluzione è troppo alta.
- La risoluzione standard è rimasta invariata (ad esempio perché il Raspberry è stato utilizzato nella modalità headless senza essere collegato al monitor) ed è perciò troppo bassa.
Trovate le corrispondenti possibilità di regolazione nel tool già utilizzato raspi-config, che avviate con il noto comando del terminale:
sudo raspi-config
Selezionate il punto del menu “Advanced Options“ e ricercate la voce “Resolution“, dove potete stabilire la risoluzione desiderata, prima di chiudere il tool e la riga di comando.
Se volete avere un maggiore controllo sulle impostazioni HDMI del vostro Raspberry Pi, potete apportare modifiche nel file di configurazione /boot/config.txt. Alla voce hdmi_mode definite ad esempio i relativi valori tra oltre 50 formati output HDMI. Nei manuali online ufficiali (Paragrafo: “HDMI mode options“) trovate una spiegazione esauriente e una lista completa dei possibili valori.
Ottavo passaggio: ottimizzare la performance per il VNC sul Raspberry Pi Zero e Pi 1
Se avete configurato un server VNC sul Raspberry Pi 1 o Zero, la performance non è sempre stabile a causa delle prestazioni inferiori di questi modelli più datati. Se siete loggati in una rete locale sicura, potete risolvere questa questione disattivando la crittografia e diminuendo così lo sfruttamento della CPU.
La disattivazione della crittografia è possibile solo per connessioni dirette e non per quelle cloud.
Aprite il menu del server VNC sul Raspberry Pi e andate sulle opzioni. Scegliete la modalità esperto e impostate il parametro “Encryption” su “AlwaysOFF“. Le modifiche non vengono applicate alle sessioni attive, quindi è necessario interrompere e riavviare le connessioni esistenti.