Desktop Remoto per Raspberry Pi

Raspberry Pi 3 nel suo case originaleCome abbiamo visto nei precenti articoli, Raspberry Pi 3 Model B è un single board computer che offre discrete prestazioni, dimensioni minime, connettività Bluetooth, WiFi ed Ethernet, un costo aggressivo e silenziosità. Non avendo necessità di parti in movimento come ventole e hard disk meccanici, ed un consumo massimo ridotto, si presta ad essere posizionato in qualsiasi luogo, inclusa la camera da letto, ed essere acceso 24/7 senza creare disturbo. Ricordiamo che il processore al suo interno è un Quad Core ARM Cortex A53 (ARMv8) funzionante ad un clock 1.2GHz, e dispone di 1 gigabyte di RAM a 900MHz, quasi il doppio rispetto al Raspberry Pi 2 Model B. Grazie al  SoC BCM2837, fabbricato con processo produttivo a 28nm, riesce a tenere a bada calore e, appunto, consumi. Perchè quindi non utilizzarlo in remoto, magari da cellulare o tablet, per effettuare operazioni quali download di file torrent o piccolo server file/web casalingo? E’ anche possibile installare EmonCMS per avere un Cloud per il monitoraggio di temperature o consumi/produzione di energia elettrica.

Dopo aver installato Raspbian in modalità headless, vediamo quindi come installare un server di Desktop Remoto per Raspberry Pi.

Installiamo il server di desktop remoto per Raspberry Pi

Dopo aver visto come installare Raspbian in modalità headless, e quindi avere accesso SSH al dispositivo, andiamo ad installare il server di desktop remoto per Raspberry Pi. Come server propongo due alternative, Xrdpe TightVNC. Xrdp permette di utilizzare il tool Connessione Desktop remoto disponibile praticamente in tutte le versioni di Windows. Se già lo utilizziamo per altri motivi potremo evitare di cambiare “piattaforma” solo per il nostro Raspberry. TightVNC, dalla sua, offre un sistema di Remote Desktop integrabile in altre applicazioni. Il produttore di questo software rende inoltre disponibile il codice sorgente e le applicazioni per tutte le piattaforme. Il server di TightVNC, è comunque utilizzato anche da Xrdp.

XRDP

Per installare XRDP, apriamo il terminale, o se non abbiamo connesso tastiera, mouse e monitor al nostro Raspberry Pi, connettiamoci con un client SSH come Putty:

Selezioniamo SSH ed inseriamo l’indirizzo IP del nostro Raspberry Pi e clicchiamo Open.


Andiamo ad aggiornare i repository di apt, lanciando il comando
sudo apt-get update

Una volta terminato il processo di aggiornamento, andiamo ad installare XRDP con il seguente comando:

 

sudo apt-get install xrdp

Installazione del desktop remoto per Raspberry Pi XRDPQuesto comando andrà ad installare XRDP e, quando l’installazione sarà conclusa, avremo XRDP pronto a ricevere una connessione.

 

 

Ora dobbiamo creare la connessione dal nostro pc Windows al Raspberry Pi, per fare questo facciamo click sul tasto Start e scriviamo Connessione Desktop Remoto, come mostrato nell’immagine.

 

 

 

 

Andiamo ad inserire l’indirizzo IP del nostro single board computer e clicchiamo su Mostra opzioni per configurare alcune feature.

Possiamo salvare le credenziali di accesso ed evitare di riscriverle, modificare la risoluzione del desktop virtuale, diminuire eventuali decorazioni delle finestre per aumentare la velocità ed impostare messaggi di errore.

Ricordiamoci di cliccare su Salva con nome… prima di cliccare su Connetti o perderemo eventuali modifiche alla configurazione.

 

 

 

 

connessione al desktop remoto per raspberry piOra possiamo effettuare il login ed utilizzare Raspberry Pi da remoto!

 

 

 

TightVNC

Andiamo ad installare, da terminale, il server di TightVNC.

Eseguiamo il comando:

 

 

 

 

 

sudo apt-get install tightvncserver

Ora possiamo avviare il server con il comando:

 

 

 

 

vncserver :1 -geometry 1920x1080 -depth 24

Così saremo invitati, alla prima esecuzione, ad impostare la password per la connessione remota.

 

 

Sul nostro pc Windows, invece, dovremmo scaricare ed installare TightVNC, disponibile a questo link. Scarichiamo quindi la versione corretta per il nostro sistema operativo ed installiamo l’applicazione. A noi serve il Viewer, quindi possiamo anche evitare di installare il server. Ricrodiamoci, comunque, di impostare una password nel caso installassimo il server anche sul PC.

Avviamo TightVNC Viewer ed inseriamo l’indirizzo IP del nostro Raspberry Pi seguito da :1. Questo è necessario per indicare a quale desktop vogliamo connetterci.

 

 

Inseriamo la password creata al momento dell’installazione del server su Raspberry Pi ed in pochi secondi dovremmo essere connessi al desktop remoto.

 

 

 

 

 

 

Comandi relativi a TightVNC

  • vncpasswd permette di impostare la password per la connessione remota.
  • vncserver -kill :1 termina la sessione :1 di vncserver.

Avvio automatico di TightVNC Server su Raspberry Pi

Per avviare automaticamente il server di desktop remoto per Raspberry Pi ed avere quindi la possibilità di connettersi senza passare prima per il terminale, abbiamo due strade:

Creazione di un file di autostart

Per creare il file di autostart per vncserver eseguiamo questo comando da terminale:

nano /home/pi/.config/autostart/tightvnc.desktop

Il contenuto del file, invece, sarà il seguente:

[Desktop Entry] Type = Application
Name = TightVNC 
Exec = vncserver: 1 
StartupNotify = false

Salviamo e chiudiamo nano con CTRL + O, Invio ed infine CTRL+X.

Riavviamo il Raspberry Pi con sudo reboot e proviamo la connessione. Se tutto è andato per il meglio dovremmo poterci connettere senza ulteriori operazioni.

Avvio automatico tramite servizio systemd

Oltre all’autostart del desktop grafico, possiamo abilitare l’autostart tramite servizio systemd. Questo ci permette maggior controllo, ma abbiamo bisogno di utilizzare il terminale per la configurazione.

sudo nano /etc/systemd/system/vncserver@.service

Una volta aperto l’editor scriviamo queste righe all’interno del file:

[Unit]
Description = VNC with TightVNCServer
After = syslog.target network.target


[Service]
Type = forking
User = pi
PAMName = login
PidFile = / home / pi / .vnc /% H:% i.pid
ExecStartPre = - / usr / bin / vncserver - kill:% i> / dev / null 2> & 1
ExecStart = / usr / bin / vncserver -depth 24-geometry 1280x800:% i
ExecStop = / usr / bin / vncserver -kill:% i


[Install]
WantedBy = multi-user.target

Dobbiamo ora ricaricare i demoni, per avviare anche quello appena creato:

sudo systemctl daemon-reload

Eseguire il servizio di VNC:

sudo systemctl start vncserver@1.service

Terminare il servizio di VNC:

sudo systemctl stop vncserver@1.service

Mostrare lo stato del servizio:

sudo systemctl status vncserver@1.service

Abilitare l’esecuzione automatica:

sudo systemctl enable vncserver@1.service

Disabilitare l’esecuzione automatica:

sudo systemctl disable vncserver@1.service

Mostrare lo stato dell’esecuzione automatica:

sudo systemctl is-enabled vncserver@1.service
Spread the love

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.