Așadar, aveți un Raspberry Pi și doriți să maximizați amprenta minusculă transformându-vă într-o cutie complet autonomă - fără monitor, tastatură sau alte periferice de intrare. Citiți mai departe în timp ce vă arătăm cum să configurați accesul la shell, desktop și transfer de fișiere la distanță pe Pi.
De ce vreau să fac asta?
Pi, chiar îmbrăcat într-o carcasă robustă, este un computer mic. Este perfect pentru a ascunde undeva din ochi fără ca un fir de fire să se lipească de el - pentru multe proiecte pur și simplu nu aveți nevoie de un monitor permanent și de acompaniament periferic.
Acea nu înseamnă, totuși, că nu va trebui să vă conectați la casetă pentru a face modificări, actualiza lucruri, transfera fișiere și așa mai departe. Un exemplu perfect în acest sens este indicatorul de ploaie rece și rece pe care l-am construit ca parte a noastră Construiți un indicator LED cu un Raspberry Pi (pentru e-mail, vreme sau orice altceva) articol. Nu are nevoie de toate acele lucruri atașate chiar la acesta, dar ne-ar plăcea totuși posibilitatea de a urca pe dispozitiv și de a face cu ușurință modificări sau de a încerca un nou experiment cu modulul LED fără a fi nevoie să îl trageți înapoi în atelier și conectați-l la un monitor, tastatură, mouse etc. Prin configurarea acestuia pentru shell de la distanță, desktop la distanță și transfer de fișiere la distanță, vă este foarte simplu să interacționați întotdeauna cu unitatea Pi din confortul computerului nostru de birou, ca și cum Am conectat unitatea la un post de lucru complet.
De ce am nevoie?
Dacă începeți să lucrați cu Raspberry Pi, vă sugerăm cu tărie să verificați Ghidul HTG pentru Noțiuni introductive despre Raspberry Pi pentru a obține un control asupra elementelor de bază ale dispozitivului și pentru a vă pune la curent.
Pentru acest tutorial veți avea nevoie de următoarele lucruri:
- Un Raspberry Pi care rulează Raspbian.
- Un computer desktop sau laptop.
- O rețea locală Wi-Fi sau cablată pentru a conecta Pi și computerul dvs.
În primul rând, majoritatea pașilor din acest tutorial ar trebui să funcționeze cu alte distribuții Pi bazate pe Linux dar vom folosi Raspbian. Ar trebui să aveți mici probleme în adaptarea tutorialului la alte distribuții.
În al doilea rând, folosim o mașină Windows ca computer în rețea pentru a interacționa cu unitatea Raspberry Pi ca cap / interfață la distanță. Când este cazul, vom face tot posibilul să ne conectăm la tutoriale și să sugerăm lecturi referitoare la efectuarea de sarcini și instrumente paralele pe OS X și Linux.
Configurarea și conectarea la serverul SSH
Accesul de la distanță la linia de comandă la instalarea dvs. Raspbian este cel mai mic mod de ajustare pe care îl puteți face sistemului dvs. și este ușor de activat.
Deschideți terminalul în Raspbian, comanda rapidă este LXTerminal pe desktop și introduceți următoarea comandă:
sudo raspi-config
Navigați în jos la ssh și apasă pe Enter. Când vi se solicită despre serverul SSH, selectați Permite și apasă din nou pe Enter. Veți fi returnat la panoul Raspi-config; navigați în jos la finalizarea și apăsați Enter pentru a închide instrumentul de configurare. Asta este tot ce trebuie să faceți pentru a activa accesul SSH la Pi. Conectarea și parola SSH implicite sunt pi și zmeură , respectiv.
În timp ce stați încă la linia de comandă, acum este un moment excelent pentru a verifica IP-ul unității dvs. Raspberry Pi în rețeaua locală. Tip ifconfig la prompt și apoi uitați-vă la ieșirea comenzii. Dacă utilizați portul Ethernet, doriți să căutați init addr în eth0 secțiune; dacă utilizați Wi-Fi, doriți să căutați init addr în wlan0 secțiune. Pe lângă verificarea și notarea adresei IP, acesta este, de asemenea, un moment excelent pentru a configurați o intrare IP statică în router deci nu trebuie să vânați IP în viitor.
Acum că avem serverul SSH activat, cunoaștem datele de conectare și cunoaștem adresa IP a aparatului, este timpul să vă conectați prin SSH și să-l testați. Pentru a face acest lucru din Linux și OS X, puteți utiliza pur și simplu ssh comanda la terminal. Cu toate acestea, utilizatorii de Windows vor avea nevoie de un client SSH ca MASTIC .
Întrucât folosim o casetă Windows pentru a ne gestiona de la distanță Pi-ul nostru, PUTTY este. Instalați o copie a PuTTY sau extrageți versiunea portabilă și declanșați-o. Sunt mult de setări pe care le poți pune în PuTTY, dar trebuie să ne facem griji doar pentru un singur lucru pentru a ne conecta la Pi. Pe interfața principală a sesiunii, tastați doar adresa IP a Pi-ului și selectați SSH sub acesta:
Lovit Deschis în partea de jos și PuTTY va lansa o fereastră de terminal pentru dvs., vă va conecta la Pi și vă va solicita să vă conectați. Continuați și conectați-vă cu pi / zmeură :
Odată ce conexiunea dvs. SSH este funcțională, puteți completa tehnic restul acestui tutorial de la distanță de la confortul biroului dvs., deși vă sfătuim să lăsați capul și tastatura pe sistemul dvs. până când terminați întregul proiect și veți rezolva totul fără probleme.
Înainte de a trece mai departe, există unele funcționalități suplimentare pe care le putem elimina din SSH. Pe lângă gestionarea de la distanță a liniei de comandă, puteți transfera de la distanță fișiere folosind Secure Copy. Este intensiv în linia de comandă și nu este deosebit de convenabil pentru transferul unui număr mare de fișiere provenite din mai multe directoare, dar pentru un transfer unic de fișiere de configurație sau alt mic de stocare, este destul de la îndemână. Verifică ghidul nostru pentru copierea fișierelor prin SSH folosind comanda SCP aici .
Vom urmări mai aproape tehnici de transfer de fișiere mai ușor de utilizat / bazate pe GUI mai târziu în tutorial.
Configurarea și configurarea desktopului la distanță
Accesul la linia de comandă de la distanță este minunat, dar la fel este și accesul la desktop pentru activități axate pe GUI. Să aducem împreună puterile liniei de comandă și puterile desktopului.
Deși ne-am referit la acesta ca „desktop la distanță” până în acest moment, instrumentul pe care îl instalăm este cunoscut sub numele de Virtual Network Computing (VNC) - despre care mulți sunt familiarizați, cum ar fi RealVNC și TightVNC. Pentru acest tutorial, vom instala TightVNC pe Pi. Pentru a accesa sesiunea TightVNC bazată pe Pi, veți avea nevoie de un client la distanță, cum ar fi:
- Client desktop TightVNC pentru Windows
- Client desktop TightVNC pentru sisteme Linux / Unix-like
- Client desktop RealVNC pentru OSX
Luați o copie acum și o vom trota mai târziu în această secțiune. Deocamdată, să trecem la instalarea serverului TightVNC pe Raspberry Pi. Deschideți terminalul. Introduceți următoarea comandă pentru a începe:
sudo apt-get install tightvncserver
Aceasta va descărca și despacheta fișierele de instalare; când vi se solicită să continuați, apăsați Y. După finalizarea instalării, veți reveni la prompt. Puteți porni VNC în două moduri. Pur și simplu rulați comanda pentru server astfel:
tightvncserver
Vă va solicita să introduceți o parolă pentru a accesa desktopul VNC - așa cum se vede în captura de ecran de mai sus. Parola trebuie să aibă 4-8 caractere. După ce confirmați parola, vi se va solicita să setați o parolă numai vizualizare (puteți renunța la pas, așa cum am făcut-o noi).
Alternativ, puteți utiliza o comandă mult mai precisă, deși mai lungă pentru a tasta, care vă oferă mai mult control asupra modului în care computerul la distanță va vedea desktopul - cel mai important, ce rezoluție va afișa desktopul, astfel încât să vă puteți bucura de o vizualizare pe ecran complet pe computerul la distanță. Pentru a specifica rezoluția desktopului VNC, utilizați următoarea comandă, schimbând valoarea rezoluției (al patrulea element din comandă) pentru rezoluția desktopului la distanță:
vncserver: 1 -geometrie 1600 × 900 -decth 16 -pixelformat rgb565:
Dacă în orice moment faceți o greșeală în configurarea instanței serverului dvs. VNC și / sau doriți să închideți serverul VNC, pur și simplu introduceți următoarele (schimbând numărul după două puncte la numărul instanței VNC pe care doriți să o omorâți) :
vncserver - ucide: 1
Acum că avem serverul VNC funcțional, să ne conectăm la acesta de pe desktopul nostru la distanță. Porniți TightVNC Viewer pe computer și conectați adresa IP a unității Raspberry Pi urmată de: 1 așa:
Iată recompensa noastră pentru configurarea cu succes a serverului nostru VNC - o vizualizare frumoasă pe ecran complet a unității noastre Raspberry Pi de la distanță:
Există o problemă cunoscută cu TightVNC și Rasbian care, datorită unei modificări de permisiune ciudate, va cauza probleme cu desktopul real atașat de monitor (lăsând neatinsă interfața desktop la distanță furnizată de serverul VNC). Pentru a remedia această problemă înainte ca aceasta să devină chiar o problemă pentru dvs., mergeți direct la linia de comandă și introduceți următoarea comandă:
sudo chown pi /home/pi/.Xauthority
Această comandă schimbă proprietatea fișierului .Xauthority înapoi la utilizatorul pi - pentru curioși, fișierul .Xauthority este utilizat de sistemul X-windows din Rasbian și ceva în timpul procesului de instalare și configurare a serverului TightVNC cauzează faptul că micile permisiuni subliniază.
Odată cu micul ocol minor, să revenim la finalizarea configurației desktopului nostru la distanță.
Acum că avem acces complet la linia de comandă și desktop la Raspberry Pi, trebuie să facem o modificare neobișnuită. Instrumentul Raspi-config a setat serverul SSH să înceapă automat la boot pentru noi, dar serverul VNC nu este încă configurat într-o asemenea manieră. Puteți sări peste acest pas și să porniți manual serverul de pe linia de comandă prin SSH când aveți nevoie, dar încercăm să facem acest lucru cât mai lipsit de probleme pentru o utilizare viitoare. Să luăm un minut acum și să creăm un fișier de pornire pentru serverul VNC.
Pentru a porni automat serverul VNC, trebuie să configurăm un fișier inițial sau de inițializare pe care Raspbian îl va folosi pentru a porni și opri în mod curat serverul în timpul procesului de pornire și oprire. Să creăm fișierul inițial acum. La linia de comandă tastați următoarea comandă:
Sudonna / Etc / Ini t. d / chi ghtvn c
Aceasta va crea un fișier în directorul de inițializare numit „tightvnc” și va deschide editorul nano, astfel încât să putem lipi în scriptul nostru. În editorul nano, lipiți următorul cod (asigurați-vă că modificați valoarea rezoluției 1600 × 900 pentru a se potrivi cu ecranul computerului dvs. la distanță:
#! / bin / sh
### BEGIN INIT INFO
# Oferă: tightvncserver
# Obligatoriu-Start:
# Obligatoriu-Stop:
# Start implicit: 2 3 4 5
# Default-Stop: 0 1 6
# Descriere scurtă: porniți serverul vnc
# Descriere:
### END INIT INFOcazul „1 $” în
start)
su pi -c ‘vncserver: 1 -geometry 1600 × 900 -depth 16 -pixelformat rgb565:’
ecou „VNC Started”
;;
Stop)
pkill Xtightvnc
ecou „VNC terminat”
;;
*)
ecou „Utilizare: /etc/init.d/tightvnc {start|stop}”
ieșirea 1
;;
esac
Pe lângă modificarea porțiunii de rezoluție a ecranului a scriptului, mai există un alt lucru pe care îl puteți modifica. În linia 14 puteți schimba comanda „su pi -c” cu orice alt cont de utilizator în afară de „pi” dacă doriți să conectați VNC la desktopul specific pentru acel cont.
După ce ați lipit și modificat codul, este timpul să îl salvați. Apăsați CTRL + X pentru a ieși și a vă salva munca în nano. Odată ce ați revenit la linia de comandă, trebuie să facem câteva modificări rapide la permisiunile fișierului:
sudo chmod 755 /etc/init.d/tightvnc
Acum fișierul de inițializare este executabil. Îl putem testa din prompt:
sudo /etc/init.d/tightvnc start
sudo /etc/init.d/tightvnc stop
Ultima modificare pe care o vom face este să actualizăm fișierul rc.d (care urmărește ce scripturi de inițializare se află în folderul /init.d/):
sudo update-rc.d setările implicite ale tightvnc
După ce introduceți acea comandă, veți primi o confirmare că fișierul a fost actualizat. Acum este timpul pentru testul real: fișierul se încarcă corect după repornire? Introduceți următoarele la linia de comandă pentru a reporni și fiți pregătiți cu clientul dvs. VNC pentru a testa conexiunea într-un moment:
reporniți sudo
Odată ce sistemul a terminat repornirea, conectați-vă cu clientul dvs. VNC. Dacă sesiunea dvs. VNC eșuează, vizitați promptul de comandă și rulați din nou comanda tightvnc start (din porțiunea de test de mai sus) pentru a verifica dacă fișierul este executabil și dacă parola a fost salvată corect.
În acest moment, ne aflăm și mai departe în misiunea noastră de a controla total de la distanță unitatea Raspberry Pi. Cu acces la linie de comandă la distanță prin SSH și acces la desktop la distanță prin VNC sub centurile noastre, să trecem la simplificarea procesului de transfer al fișierelor între computerul nostru Pi și desktop.
Configurarea și configurarea instrumentelor de transfer de fișiere
Întrucât avem deja configurat SSH, cel mai simplu mod de a configura un transfer de fișiere simplu mort între computerele noastre Pi și de la distanță este recuperarea unei interfețe GUI pe conexiunea SSH. Vă amintiți cum am vorbit despre utilizarea SCP peste SSH mai devreme în tutorial? Rularea acestuia din linia de comandă devine foarte plictisitoare, foarte rapidă. Cu un wrapper GUI, vom putea petrece mai mult timp mutând fișiere și jucându-ne cu Pi-ul nostru și mai puțin timp ciugulind la tastatură.
Deși există o varietate de împachetări GUI pentru comanda SCP, vom merge cu un instrument multi-platformă pe care mulți îl cunosc deja, îl au și îl iubesc (și poate chiar să nu știe că face transferuri SCP): FileZilla. Este disponibil pentru Windows, OS X și Linux - puteți ia o copie aici .
După ce ați instalat FileZilla, porniți-l și accesați Fișier -> Manager site. Creați o nouă intrare pe site, denumiți-o și conectați numele de utilizator și parola pentru Pi.
În cele din urmă, asigurați-vă că setați portul la 22 și Servertype la SFTP - SSH File Transfer Protocol. Faceți clic pe conectare în partea de jos și veți primi o vizualizare similară cu aceasta:
Directoarele dvs. locale se află în panoul din stânga, iar directoarele la distanță de pe Pi se află în panoul din dreapta. Mutarea fișierelor între cele două este la fel de simplă precum tragerea și plasarea lor.
Profitarea de transferul de fișiere SSH existent este cel mai simplu mod de a accesa fișierele de pe Pi, fără a fi necesară o configurație suplimentară dar dacă doriți să vă configurați Pi-ul pentru a primi și partaja fișiere fără ca utilizatorul la distanță să necesite instrumente fanteziste (cum ar fi un client FTP capabil de SCP, cum ar fi FileZilla), vă recomandăm să consultați partea de configurare Samba din ghidul nostru: Cum să transformați un Raspberry Pi într-un dispozitiv de stocare în rețea de consum redus . Citind peste asta, vă veți familiariza cu configurarea unei partajări de bază Samba pe Pi pentru a crea un folder partajat ușor accesibil de aproape orice persoană din rețeaua dvs. fără alte instrumente suplimentare.
Ați configurat SSH, ați configurat VNC și ați configurat accesul SFTP și / sau Samba simplu la Pi - în acest moment puteți porni Raspberry Pi, dezlipiți monitorul, tastatura și mouse-ul, și ascunde-l ca o mașină tăcută și fără cap.
Ai o idee pentru proiectul Raspberry Pi și ești pe moarte ca noi să scriem un tutorial pentru el? Sună în comentarii sau trimite-ne un e-mail la [email protected] și vom face tot posibilul pentru a vă ajuta.