Come configurare il tuo Raspberry Pi per Remote Shell, Desktop e File Transfer
Quindi hai un Raspberry Pi e vorresti massimizzare il suo ingombro minimo trasformandolo in una scatola totalmente indipendente, senza 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.
Quello non lo fa significa, tuttavia, che non è necessario connettersi alla casella per apportare modifiche, aggiornare le cose, 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 tutto ciò che vi è collegato, ma vorremmo comunque poter salire sul dispositivo e apportare facilmente modifiche o provare nuovi esperimenti con il modulo LED senza doverlo trascinare nell'officina, e collegalo 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 se Ho collegato l'unità a una stazione di lavoro completa.
Di cosa ho bisogno?
Se sei nuovo di zecca a lavorare con il Raspberry Pi, ti suggeriamo caldamente di consultare la Guida HTG per iniziare con Raspberry Pi per ottenere una guida sulle basi del dispositivo e ottenere rapidamente.
Per questo tutorial ti serviranno le seguenti cose:
- Un Raspberry Pi su cui è in esecuzione Raspbian.
- Un computer desktop o portatile.
- Una rete Wi-Fi o cablata locale per connettere il Pi e il computer.
Innanzitutto, la maggior parte dei passaggi di questo tutorial dovrebbe funzionare con altre distribuzioni Pi basate su Linux ma useremo Raspbian. Dovresti avere pochi problemi ad adattare il tutorial ad altre distribuzioni.
Secondo, stiamo usando 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.
Impostazione e connessione al server SSH
L'accesso da riga di comando remota alla tua installazione Raspbian riguarda il piccolo ritocco più pratico che puoi apportare al tuo sistema, ed è semplicemente semplice abilitare.
Aprire il terminale in Rasbian, il collegamento è LXTerminal sul desktop e digitare il seguente comando:
sudo raspi-config
Navigare verso il basso SSH e premi invio. Quando richiesto sul server SSH, selezionare Abilitare e premi invio di nuovo. Sarai restituito al pannello Raspi-config; navigare fino a finire e premi 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 lampone, 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. genere ifconfig al prompt e quindi guardare l'output del comando. Se stai usando la porta Ethernet che vuoi cercare init addr nel eth0 sezione; se stai usando il Wi-Fi, vuoi cercare il init addr nel wlan0 sezione. 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 farlo da Linux e OS X puoi semplicemente usare il SSH comando al terminale. Gli utenti Windows, tuttavia, avranno bisogno di un client SSH come PuTTY.
Dal momento 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 Un sacco delle impostazioni con cui è possibile creare errori 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:
Colpire Aperto in fondo e PuTTY avvierà una finestra di terminale per te, connettiti al tuo Pi e ti chiederà di accedere. Vai avanti 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 testata e la tastiera sul tuo sistema fino a quando non hai terminato l'intero progetto e avere 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ù avanti le tecniche di trasferimento file user-friendly / basate su GUI più avanti nel tutorial.
Impostazione e configurazione del desktop remoto
L'accesso alla linea di comando remota è 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
Prendi una copia adesso e la 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
Ti verrà richiesto di inserire una password per accedere al tuo desktop VNC, come mostrato nello screenshot qui 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, puoi usare un comando molto più preciso, anche se più lungo da digitare, che ti dà 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 intero su il 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 (cambiando il numero dopo i due punti sul numero dell'istanza VNC che si desidera eliminare) :
vncserver -kill: 1
Ora che abbiamo il server VNC attivo e funzionante, connettiamoci dal nostro desktop remoto. Avvia il visualizzatore TightVNC sul tuo computer e inserisci l'indirizzo IP dell'unità Raspberry Pi seguito da: 1 in questo modo:
Ed ecco la nostra ricompensa per aver configurato con successo il nostro server VNC: una bella visualizzazione a schermo intero della nostra unità remota Raspberry Pi:
C'è un problema noto con TightVNC e Rasbian che, grazie a un cambio di permaloso instabilità, 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-per i curiosi, il file .Xauthority viene utilizzato dal sistema X-windows in Rasbian e qualcosa durante l'installazione del server TightVNC e il processo di configurazione causa una piccola intoppi di permessi.
Con questa piccola deviazione, torniamo a completare la configurazione del desktop remoto.
Ora che abbiamo accesso completo alla riga di comando e al desktop con 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 dalla riga di comando tramite SSH quando ti serve, ma stiamo cercando di renderlo il più semplice possibile per un uso futuro. Diamo un minuto ora e creare 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, digita 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 il 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 INFO INIZ
# Fornisce: tightvncserver
# Richiesto-Inizio:
# Richiesto-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: avvia il server vnc
# Descrizione:
### END INFO INIZcaso "$ 1" in
inizio)
su pi -c 'vncserver: 1 -geometria 1600 × 900 -depth 16 -pixelformat rgb565:'
echo "VNC Started"
;;
fermare)
pkill Xtightvnc
echo "VNC Terminated"
;;
*)
echo "Uso: /etc/init.d/tightvnc start | stop"
uscita 1
;;
esac
Oltre a modificare la porzione di risoluzione dello schermo dello script, c'è un'altra cosa che puoi modificare. Nella riga 14 puoi cambiare il comando "su pi -c" con qualsiasi altro account utente oltre a "pi" se desideri 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 faremo è aggiornare il file rc.d (che tiene traccia degli script di inizializzazione nella cartella /init.d/):
sudo update-rc.d default di tightvnc
Dopo aver inserito quel 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 e prepararsi con il client VNC per testare la connessione in un momento:
sudo reboot
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.
Impostazione e configurazione degli strumenti di trasferimento file
Dato che abbiamo già impostato SSH, il modo più semplice per impostare 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, potremo passare 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 persino 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 -> Site Manager. 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 ulteriori configurazioni ma se vuoi configurare il tuo Pi per ricevere e condividere file senza che l'utente remoto richieda strumenti di fantasia (come un client FTP con capacità SCP come FileZilla), ti consigliamo vivamente di controllare la parte di configurazione di Samba della nostra guida: Come trasformare un lampone 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 il monitor, la tastiera e il mouse, e lo riponi 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.