19Aug
Quindi hai un Raspberry Pi e vorresti massimizzare il suo ingombro minimo trasformandolo in una scatola totalmente indipendente: nessun monitor, tastiera o altre periferiche di input. Continua a leggere mentre ti mostriamo come configurare l'accesso remoto alla shell, al desktop e al trasferimento di file sul tuo Pi.
Perché voglio farlo?
Il Pi, anche se vestito in una custodia robusta, è un minuscolo computer.È perfetto per rimboccarsi da qualche parte senza vedere un groviglio di fili che vi si appiccica, per molti progetti semplicemente non è necessario un monitor permanente e un accompagnamento periferico.
Che non significa, tuttavia, che non è necessario connettersi alla casella per apportare modifiche, aggiornare elementi, trasferire file e così via. Un perfetto esempio di questo è il piccolo indicatore pioggia che abbiamo costruito come parte del nostro Build a LED Indicator con un articolo Raspberry Pi( per Email, Meteo o Qualsiasi).Non ha bisogno di tutta quella roba allegata, ma vorremmo comunque poter salire sul dispositivo e apportare facilmente modifiche o provare nuovi esperimenti con il modulo LED senza doverlo trascinare nell'officina, ecollegalo a monitor, tastiera, mouse, ecc. Configurandolo per shell remota, desktop remoto e trasferimento file remoto, rendiamo estremamente semplice interagire sempre con la nostra unità Pi dal comfort del nostro computer desktop come seHo collegato l'unità a una stazione di lavoro completa.
Di cosa ho bisogno?
Se sei nuovo di zecca per lavorare con il Raspberry Pi, ti suggeriamo caldamente di consultare la Guida HTG per iniziare con Raspberry Pi per avere un'idea sulle basi del dispositivo e iniziare subito a lavorare.
Per questo tutorial sono necessarie le seguenti cose:
- Un Raspberry Pi su cui è in esecuzione Raspbian.
- Un computer desktop o portatile.
- Una rete Wi-Fi o cablata locale per collegare Pi e il computer.
Innanzitutto, la maggior parte dei passaggi di questo tutorial dovrebbero funzionare con altre distribuzioni Pi basate su Linux ma utilizzeremo Raspbian. Dovresti avere pochi problemi ad adattare il tutorial ad altre distribuzioni.
In secondo luogo, stiamo utilizzando una macchina Windows come il nostro computer in rete per interagire con l'unità Raspberry Pi come la testina / interfaccia remota. Se necessario, faremo del nostro meglio per collegare tutorial e letture suggerite riguardanti l'esecuzione di attività e strumenti paralleli su OS X e Linux.
Configurazione e connessione al server SSH
L'accesso alla riga di comando remota per l'installazione Raspbian riguarda la piccola modifica più maneggevole che è possibile apportare al sistema, ed è semplice abilitare.
Aprire il terminale in Rasbian, il collegamento è LXTerminal sul desktop e digitare il seguente comando:
sudo raspi-config
Navigare verso il basso su ssh e premere invio. Quando viene richiesto il server SSH, selezionare Abilitare e premere invio di nuovo. Sarai restituito al pannello Raspi-config;navigare fino a Fine e premere Invio per chiudere lo strumento di configurazione. Questo è tutto ciò che devi fare per attivare l'accesso SSH al tuo Pi. Il login e la password SSH predefiniti sono pi e raspberry , rispettivamente.
Mentre sei ancora seduto alla riga di comando, ora è un ottimo momento per verificare l'IP della tua unità Raspberry Pi sulla rete locale. Digitare ifconfig al prompt e quindi esaminare l'output del comando. Se si sta utilizzando la porta Ethernet, si desidera cercare init addr nella sezione eth0 ;se si sta utilizzando il Wi-Fi, si desidera cercare init addr nella sezione wlan0 .Oltre a controllare e annotare l'indirizzo IP, questo è anche un ottimo momento per impostare una voce IP statica nel router in modo da non dover cercare l'IP in futuro.
Ora che il server SSH è abilitato, conosciamo il login e conosciamo l'indirizzo IP della macchina, è ora di connettersi tramite SSH e testarlo. Per fare ciò da Linux e OS X è sufficiente utilizzare il comando ssh sul terminale. Gli utenti Windows, tuttavia, avranno bisogno di un client SSH come PuTTY.
Dato che stiamo usando una scatola di Windows per gestire da remoto il nostro Pi, PuTTY lo è.Installa una copia di PuTTY o estrai la versione portatile e accendila. Ci sono molti di impostazioni con cui puoi fare casino in PuTTY, ma dobbiamo solo preoccuparci di una singola cosa da connettere al nostro Pi. Nell'interfaccia Session principale, digita l'indirizzo IP del tuo Pi e seleziona SSH sotto di esso:
Hit Apri nella parte inferiore e PuTTY avvierà una finestra terminale per te, connettiti al tuo Pi e ti chiederà diaccedi. Accedi e accedi con pi / raspberry :
Una volta che la tua connessione SSH è funzionante, potresti completare tecnicamente il resto di questo tutorial in remoto dalla comodità della tua scrivania, anche se ti consigliamo di lasciare la tastiera e la tastierasul tuo sistema fino a quando non hai terminato l'intero progetto e hai fatto tutto senza intoppi.
Prima di andare avanti, ci sono alcune funzionalità extra che possiamo spremere da SSH.Oltre a gestire la riga di comando in remoto, è anche possibile trasferire in remoto i file utilizzando Secure Copy.È intensivo a riga di comando e non è particolarmente comodo per il trasferimento di un gran numero di file provenienti da più directory, ma per un trasferimento di file di configurazione one-off o altri piccoli dump, è molto utile. Consulta la nostra guida per copiare i file su SSH usando il comando SCP qui.
Vedremo più tecniche di trasferimento di file più user-friendly / basate su GUI più avanti nel tutorial.
Configurazione e configurazione del desktop remoto
L'accesso alla riga di comando remoto è eccezionale, ma lo stesso vale per l'accesso al desktop per attività incentrate sulla GUI.Portiamo insieme i poteri della linea di comando e i poteri del desktop.
Anche se ci siamo riferiti a questo punto come "desktop remoto" a questo punto, lo strumento che stiamo installando è noto come Virtual Network Computing( VNC) -iterazioni di cui molti hanno familiarità con RealVNC e TightVNC.Per questo tutorial, installeremo TightVNC sul Pi. Per accedere alla sessione TightVNC basata su Pi, è necessario un client remoto come:
- Client desktop TightVNC per Windows
- Client desktop TightVNC per sistemi Linux / Unix
- Client desktop RealVNC per OSX
Copia subito una copia elo trotterremo più avanti in questa sezione. Per ora, passiamo all'installazione del server TightVNC sul tuo Raspberry Pi. Apri il terminale. Immettere il seguente comando per iniziare:
sudo apt-get install tightvncserver
Questo scaricherà e decomprimerà i file di installazione;quando viene richiesto di continuare, premere Y. Al termine dell'installazione, verrà restituito il prompt.È possibile avviare il VNC in due modi. Semplicemente eseguendo il comando per il server in questo modo:
tightvncserver
richiederà di inserire una password per accedere al desktop VNC, come si vede nella schermata sopra. La password deve essere lunga 4-8 caratteri. Dopo aver confermato la password, ti verrà richiesto di impostare una password di sola visualizzazione( puoi disattivare la fase, come abbiamo fatto noi).
In alternativa, è possibile utilizzare un comando molto più preciso, anche se più lungo da digitare, che offre un maggiore controllo su come il computer remoto vedrà il desktop, soprattutto, quale risoluzione verrà visualizzata sul desktop in modo da poter godere di una visualizzazione a schermo interosul computer remoto. Per specificare la risoluzione del desktop VNC, utilizzare il seguente comando, scambiando il valore della risoluzione( il quarto elemento nel comando) per la risoluzione del desktop remoto:
vncserver: 1 -geometry 1600 × 900 -depth 16 -pixelformat rgb565:
Se in qualsiasi momento si commette un errore nella configurazione dell'istanza del server VNC e / o si desidera arrestare il server VNC, immettere quanto segue( modificando il numero dopo i due punti sul numero dell'istanza VNC che si desiderakill):
vncserver -kill: 1
Ora che abbiamo il server VNC attivo e funzionante, connettiamoci al nostro desktop remoto. Accendi il visualizzatore TightVNC sul tuo computer e inserisci l'indirizzo IP dell'unità Raspberry Pi seguito da: 1 come questo:
Ed ecco la nostra ricompensa per aver configurato con successo il nostro server VNC: una bella visualizzazione a schermo intero dell'unità Raspberry Pi remota:
C'è un problema noto con TightVNC e Rasbian che, grazie a un cambiamento di autorizzazione instabile, causerà problemi con il desktop effettivo collegato al monitor( lasciando intatta l'interfaccia desktop remota fornita dal server VNC).Per risolvere questo problema prima che diventi un problema per te, vai direttamente alla riga di comando e inserisci il seguente comando:
sudo chown pi /home/pi/. Xauthority
Questo comando modifica la proprietà del file. Xauthority all'utente pi-foril curioso, il file. Xauthority è usato dal sistema X-windows in Rasbian e qualcosa durante l'installazione del server TightVNC e il processo di configurazione causa questo piccolo intoppo.
Con questa piccola deviazione minore, torniamo a terminare la configurazione del desktop remoto.
Ora che abbiamo il pieno accesso da riga di comando e desktop al Raspberry Pi, c'è una cosa da non sottovalutare che dobbiamo fare. Lo strumento Raspi-config imposta il server SSH per l'avvio automatico all'avvio per noi, ma il server VNC non è ancora configurato in questo modo. Puoi saltare questo passaggio e avviare manualmente il server sulla riga di comando tramite SSH quando ti serve, ma stiamo cercando di renderlo il più semplice possibile per un uso futuro. Dedica un minuto e crea un file di avvio per il server VNC.
Per avviare automaticamente il server VNC, è necessario impostare un file init, o di inizializzazione, che Raspbian utilizzerà per avviare e arrestare il server in modo pulito durante il processo di avvio e arresto. Creiamo il file init ora. Alla riga di comando digitare il seguente comando:
sudo nano /etc/init.d/ tightvnc
Questo creerà un file nella directory di inizializzazione chiamata "tightvnc" e aprirà l'editor nano in modo che possiamo incollare nel nostro script. Nell'editor nano, incolla il seguente codice( assicurati di modificare il valore di risoluzione 1600 × 900 in modo che corrisponda allo schermo del tuo computer remoto:
#! /bin/ sh
### INIZIA INIT INFO
# Fornisce: tightvncserver
# Obbligatorio-Start:
# Obbligatorio-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Breve descrizione: avvia server vnc
# Descrizione:
### END INFO INIT
caso "$ 1 "all'avvio
)
su pi -c 'vncserver: 1 -geometria 1600 × 900 -depth 16 -pixelformg rgb565:'
echo" VNC avviato "
; ;Arresto
)
pkill Xtightvnc
echo "VNC terminato"
; ;
*)
echo "Utilizzo: /etc/init.d/ tightvnc{ start | stop}"
exit 1
; ;
esac
Oltre a modificare la porzione di risoluzione dello schermo dello script, c'è un'altra cosa che è possibile modificare. Nella riga 14 è possibile cambiare il comando "su pi -c" con qualsiasi altro account utente oltre a "pi" se si desidera VNC sul desktop specifico per quell'account.
Dopo aver incollato e modificato il codice, è ora di salvarlo. Premi CTRL + X per uscire e salva il tuo lavoro in nano. Una volta tornati alla riga di comando, è necessario apportare alcune rapide modifiche alle autorizzazioni del file:
sudo chmod 755 /etc/init.d/ tightvnc
Ora il file di inizializzazione è eseguibile. Possiamo testarlo dal prompt:
sudo /etc/init.d/ tightvnc start
sudo /etc/init.d/ tightvnc stop
L'ultima modifica che stiamo per fare è aggiornare il file rc.d( che tiene traccia degli script di inizializzazione nella cartella /init.d/):
sudo update-rc.d tightvnc defaults
Dopo aver inserito il comando, riceverai una conferma che il file è stato aggiornato. Ora è il momento del vero test: il file si carica correttamente dopo il riavvio? Immettere quanto segue alla riga di comando per riavviare ed essere pronti con il client VNC per testare la connessione in un momento:
sudo riavviare
Una volta che il sistema ha terminato il riavvio, accedere con il client VNC.Se la tua sessione VNC fallisce, visita il prompt dei comandi ed esegui di nuovo il comando tightvnc start( dalla sezione test precedente) per ricontrollare che il file sia eseguibile e che la password sia stata salvata correttamente.
A questo punto, siamo ancora più avanti nella nostra missione di controllare completamente a distanza la nostra unità Raspberry Pi. Con l'accesso alla linea di comando remoto tramite SSH e l'accesso desktop remoto tramite VNC sotto le nostre cinghie, passiamo alla semplificazione del processo di trasferimento dei file tra il nostro computer Pi e desktop.
Configurazione e configurazione degli strumenti di trasferimento file
Dato che abbiamo già impostato SSH, il modo più semplice per configurare il trasferimento di file semplice e morto tra il nostro Pi e i computer remoti è quello di creare un'interfaccia GUI sulla connessione SSH.Ricorda come abbiamo parlato dell'uso di SCP su SSH in precedenza nel tutorial? Eseguirlo dalla riga di comando diventa davvero noioso, molto veloce. Con un wrapper GUI, saremo in grado di dedicare più tempo a spostare file e giocare con il nostro Pi e meno tempo a beccare sulla tastiera.
Mentre ci sono una varietà di wrapper GUI per il comando SCP, andremo con uno strumento multipiattaforma che molte persone già conoscono, hanno e amano( e potrebbero anche non sapere che fa trasferimenti SCP): FileZilla.È disponibile per Windows, OS X e Linux: puoi recuperarne una copia qui.
Una volta installato FileZilla, attivalo e vai su File - & gt;Gestore del sito. Crea una nuova voce nel sito, nominala e inserisci nome utente e password per il tuo Pi.
Infine, assicurarsi di impostare la porta su 22 e il Servertype su SFTP - SSH File Transfer Protocol. Fai clic su Connetti in basso e ti verrà visualizzata una vista simile a questa:
Le tue directory locali sono nel riquadro a sinistra e le directory remote sul Pi sono nel riquadro a destra. Spostare i file tra i due è semplice come trascinarli e rilasciarli.
Sfruttare il trasferimento di file SSH esistente è il modo più semplice per ottenere i file sul Pi senza necessità di configurazione aggiuntiva ma se si desidera configurare il Pi per ricevere e condividere file senza che l'utente remoto richieda strumenti di fantasia( come un client FTP con capacità SCP come FileZilla), consigliamo vivamente di controllare la parte di configurazione Samba della nostra guida: Come trasformare un Raspberry Pi in un dispositivo di archiviazione di rete a bassa potenza. La lettura di ciò ti renderà familiare l'impostazione di una condivisione Samba di base su Pi per creare una cartella condivisa facilmente accessibile da chiunque sulla tua rete senza strumenti aggiuntivi.
Hai configurato SSH, hai configurato VNC e hai configurato il semplice accesso SFTP e / o Samba al tuo Pi, a questo punto puoi avviare il tuo Raspberry Pi, rimuovere via monitor, tastiera e mousee riporlo come una macchina silenziosa e senza testa.
Hai un'idea per il progetto Raspberry Pi e stai morendo dalla voglia di scrivere un tutorial per questo? Suona nei commenti o mandaci una mail a [email protected] e faremo del nostro meglio per aiutarti.