Cum să vă configurați Pi zărit pentru Remote Shell, desktop și transfer de fișiere
Deci, aveți un Raspberry Pi și doriți să maximizați amprenta sa mică transformând-o într-o cutie complet autonomă - fără monitor, tastatură sau alte periferice de intrare. Citiți mai departe pe măsură ce vă vom arăta cum să configurați accesul la distanță pentru shell, desktop și fișiere pe dispozitivul dvs. Pi.
De ce vreau să fac asta?
Pi, chiar îmbrăcat într-un caz robust, este un computer mic. Este perfectă pentru a vă împiedica să vedeți undeva fără a vă lăsa un șir de cabluri - pentru multe proiecte pur și simplu nu aveți nevoie de un monitor permanent și de acompaniament periferic.
Acea nu înseamnă că nu va trebui să vă conectați la casetă pentru a efectua modificări, a actualiza lucrurile, a transfera fișiere și așa mai departe. Un exemplu perfect al acestui lucru este indicatorul rece de ploaie mică pe care l-am construit ca parte a indicatorului nostru de construire a unui LED cu un articol de zmeură Pi (pentru e-mail, meteo sau orice). Nu are nevoie de toate chestiile astea atașate, dar totuși ne-ar plăcea să reușim să mergem pe dispozitiv și să facem schimbări ușoare sau să încercăm noi experimente cu modulul LED fără a trebui să-l tragem înapoi în atelier și conectați-l la un monitor, tastatură, mouse etc. Prin configurarea acestuia pentru shell shell, desktop la distanță și transfer de fișiere de la distanță, facem foarte simplu să interacționăm mereu cu unitatea noastră de tip Pi din confortul calculatorului nostru, ca și cum noi ai pus unitatea într-o stație completă de lucru.
Ce am nevoie?
Dacă sunteți nou-născut să lucrați cu Raspberry Pi, vă sugerăm să consultați Ghidul HTG pentru a începe cu Raspberry Pi pentru a obține un mâner pe elementele de bază ale dispozitivului și pentru a obține până la viteza.
Pentru acest tutorial veți avea nevoie de următoarele lucruri:
- O zmeură Pi alergând pe Raspbian.
- Un computer desktop sau laptop.
- O rețea locală Wi-Fi sau prin cablu pentru a conecta dispozitivul Pi și computerul.
Î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 de adaptare a 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 de la distanță / interfață. Atunci când este cazul, vom face tot posibilul pentru a vă conecta la tutoriale și a sugerat citirea în ceea ce privește îndeplinirea sarcinilor și instrumentelor paralele pe OS X și Linux.
Configurarea și conectarea la serverul SSH
Accesul la linia de comandă de la distanță pentru instalarea dvs. Raspbian este legat de cea mai mica tamponare pe care o puteți face în sistemul dvs. și este ușor de activat.
Deschideți terminalul în Rasbian, comanda rapidă este LXTerminal de pe desktop și tastați următoarea comandă:
sudo raspi-config
Navigați în jos ssh și apăsați Enter. Când vi se solicită despre serverul SSH, selectați Permite și apăsați pe Enter din nou. Veți fi returnați la panoul Raspi-config; navigați în jos până la finalizarea și apăsați Enter pentru a închide instrumentul de configurare. Asta e tot ce trebuie să faceți pentru a activa accesul SSH la dispozitivul dvs. Pi. În mod normal, loginul și parola SSH sunt pi și zmeură, respectiv.
În timp ce stați în continuare la linia de comandă, acum este momentul potrivit pentru a verifica adresa IP a unității dvs. Raspberry Pi în rețeaua locală. Tip ifconfig la prompt și apoi uita-te la ieșirea de comandă. Dacă utilizați portul Ethernet pe care doriți să îl 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. În plus față de verificarea și notarea adresei IP, acesta este, de asemenea, un timp excelent pentru a configura o intrare statică IP în routerul dvs., astfel încât să nu trebuiască să vânați pentru IP în viitor.
Acum, când avem serverul SSH activat, cunoaștem datele de conectare și cunoaștem adresa IP a aparatului, este timpul să ne conectăm prin SSH și să-l testăm. Pentru a face acest lucru din Linux și OS X puteți pur și simplu utilizați ssh comandă la terminal. Utilizatorii de Windows, cu toate acestea, vor avea nevoie de un client SSH ca PuTTY.
Deoarece folosim o cutie Windows pentru a gestiona de la distanță Pi, PuTTY este. Instalați o copie a lui PuTTY sau extrageți versiunea portabilă și închideți-o. Sunt mult de setări pe care le puteți face în PuTTY, dar trebuie doar să vă faceți griji cu privire la un singur lucru pentru a vă conecta la Pi noastre. În interfața principală a sesiunii, introduceți adresa IP a opțiunii Pi și selectați SSH sub acesta:
Lovit Deschis în partea de jos și PuTTY va lansa o fereastră terminal pentru dvs., conectați-vă la Pi și vă va solicita să vă conectați. Continuați și conectați-vă cu pi / zmeură:
Odată ce conexiunea SSH este funcțională, ați putea completa tehnic restul acestui tutorial de la distanță de confortul biroului dvs. - deși am sfătui să lăsăm capul și tastatura pe sistemul dvs. până când nu ați terminat întregul proiect și totul va funcționa fără probleme.
Înainte de a merge mai departe, există unele funcționalități suplimentare pe care le putem scoate din SSH. În plus față de gestionarea liniei de comandă de la distanță, puteți, de asemenea, transfera de la distanță fișiere utilizând Secure Copy. Linia de comandă este intensă și nu este deosebit de convenabilă pentru transferul unui număr mare de fișiere provenite din mai multe directoare, dar pentru un transfer de fișiere de configurare într-o singură operațiune sau pentru alt depozit mic, este destul de la îndemână. Consultați ghidul nostru pentru copierea fișierelor pe SSH folosind comanda SCP aici.
Vom analiza mai târziu mai multe tehnici de transfer de fișiere mai ușor de utilizat / GUI în tutorial.
Configurarea și configurarea desktopului dvs. la distanță
Accesul la linia de comandă la distanță este minunat, dar are și acces la desktop pentru activități orientate spre GUI. Să aducem împreună puterile liniei de comandă și puterile desktop-ului.
Deși 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), care este cunoscut de multe persoane, 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:
- TightVNC desktop client pentru Windows
- Client TightVNC desktop pentru sisteme Linux / Unix
- Clientul desktop RealVNC pentru OSX
Luați o copie acum și o vom face mai târziu în această secțiune. Pentru moment, să trecem la instalarea serverului TightVNC pe zmeura Pi. Deschideți terminalul. Introduceți următoarea comandă pentru a începe:
sudo apt-get instalați tightvncserver
Acesta va descărca și despacheta fișierele de instalare; când vi se solicită să continuați apăsarea pe Y. După ce instalarea este finalizată, veți fi returnat la prompt. Puteți porni VNC una din cele două căi. Pur și simplu executați comanda pentru server cum ar fi:
tightvncserver
Vă va cere să introduceți o parolă pentru a vă accesa desktopul VNC - așa cum se vede în imaginea de mai sus. Parola trebuie să aibă o lungime de 4-8 caractere. După ce confirmați parola, vi se va solicita să setați o parolă numai pentru vizualizare (puteți renunța la acest pas, așa cum am făcut-o).
În mod alternativ, puteți utiliza o comandă mult mai precisă, deși mai lungă pentru a tipări, 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 desktop-ul pentru a vă bucura de o vizualizare pe ecran complet computerul la distanță. Pentru a specifica rezoluția desktop-ului VNC, utilizați următoarea comandă, schimbând valoarea rezoluției (al patrulea element din comandă) pentru rezoluția desktop-ului la distanță:
vncserver: 1 -geometrie 1600 × 900 -depta 16-pixelformat rgb565:
Dacă în orice moment faceți o greșeală în configurarea instanței dvs. de server VNC și / sau doriți să închideți serverul VNC, introduceți pur și simplu următoarele (schimbarea numărului după colon la numărul instanței VNC pe care doriți să o omorâți) :
vncserver -kill: 1
Acum, dacă avem serverul VNC în funcțiune, să ne conectăm la el de pe desktop-ul nostru de la distanță. Activați vizualizatorul TightVNC pe computerul dvs. și conectați adresa IP a unității Raspberry Pi urmată de: 1 cum ar fi:
Iată recompensa noastră pentru configurarea cu succes a serverului nostru VNC - o vizualizare completă a ecranului de la distanță a unității noastre Raspberry Pi:
Există o problemă cunoscută cu TightVNC și Rasbian care, datorită unei schimbări permisive de permisiune, vor provoca probleme cu desktop-ul real monitor-este-atașat (în timp ce părăsind interfața de la distanță a desktopului furnizată de serverul VNC neatinsă). Pentru a remedia această problemă înainte ca ea să devină chiar o problemă pentru dvs., mergeți la linia de comandă și introduceți următoarea comandă:
sudo chown pi /home/pi/.Xauthority
Această comandă schimbă proprietatea fișierului .Xauthority înapoi către utilizator pi - pentru curios, fișierul .Xauthority este utilizat de sistemul X-windows în Rasbian și ceva în timpul procesului de instalare și configurare a serverului TightVNC, cauzează puțină permisiune de hicup.
Cu acea mică ocolire minoră în drum, să ne întoarcem la terminarea configurației desktop-ului nostru la distanță.
Acum că avem linia de comandă completă și accesul la desktop la Raspberry Pi, există o amendă nu atât de banală pe care trebuie să o facem. Instrumentul Raspi-config a setat serverul SSH să pornească automat la pornire pentru noi, dar serverul VNC nu este încă configurat într-o asemenea mod. Puteți să treceți peste acest pas și să porniți manual serverul la linia de comandă prin SSH atunci când aveți nevoie de el, dar încercăm să facem acest lucru fără probleme de utilizare în viitor. Să facem un minut acum și să creăm un fișier de pornire pentru serverul VNC.
Pentru a porni automat serverul VNC, trebuie să setăm un fișier de inițializare sau de inițializare pe care Raspbian îl va folosi pentru a porni și a închide cu ușurință serverul în timpul procesului de boot și de închidere. Să creăm acum fișierul init. La tipul de linie de comandă din următoarea comandă:
sudo nano /etc/init.d/tightvnc
Acest lucru va crea un fișier în directorul de inițializare numit "tightvnc" și va deschide editorul nano pentru a putea lipi în scenariul nostru. În editorul nano, lipiți următorul cod (asigurați-vă că modificați valoarea de rezoluție 1600 × 900 pentru a se potrivi cu ecranul computerului dvs. la distanță:
#! / Bin / sh
### INIȚI INIȚIA INFO
# Oferă: tightvncserver
# Required-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: începe serverul vnc
# Descriere:
### END INIT INFOcaz "$ 1" în
start)
su pi -c 'vncserver: 1 -geometrie 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
În plus față de modificarea porțiunii de rezoluție a ecranului din script, există și un alt lucru pe care îl puteți modifica. În linia 14 puteți schimba comanda "su pi -c" în orice alt cont de utilizator în afară de "pi" dacă doriți să VNC pe desktop-ul specific pentru acel cont.
Odată ce ați inserat și modificat codul, este timpul să îl salvați. Apăsați CTRL + X pentru a ieși și a salva munca în nano. Odată ce v-ați întors la linia de comandă, trebuie să efectuăm câteva modificări rapide ale permisiunilor fișierului:
sudo chmod 755 /etc/init.d/tightvnc
Acum fișierul de inițializare este executabil. Putem testa de la prompt:
sudo /etc/init.d/tightvnc start
sudo /etc/init.d/tightvnc stop
Ultima modificare pe care o vom face este actualizarea fișierului rc.d (care urmărește care script-uri de inițializare se află în directorul /init.d/):
sudo update-rc.d fixvnc defaults
După ce introduceți comanda respectivă, veți primi o confirmare a faptului că fișierul a fost actualizat. Acum este timpul pentru testul real: se încarcă corect fișierul după repornire? Introduceți următoarele la linia de comandă pentru a reporni și a fi pregătit cu clientul VNC pentru a testa conexiunea într-un moment:
sudo reboot
Odată ce sistemul a finalizat repornirea, conectați-vă cu clientul dvs. VNC. Dacă sesiunea dvs. VNC nu reușește, accesați din nou comanda de comandă și rulați din nou comanda startvnc start (din partea de testare de mai sus) pentru a verifica dacă fișierul este executabil și parola a fost salvată corect.
În acest moment, ne aflăm și mai mult în misiunea noastră de a controla complet telecomanda unitatea Raspberry Pi. Cu acces la linia de comandă de la distanță prin SSH și acces la distanță la distanță prin VNC sub centurile noastre, să trecem mai departe la simplificarea procesului de transfer de fișiere între Pi și computerul nostru.
Configurarea și configurarea instrumentelor de transfer de fișiere
Deoarece am deja instalat SSH, cea mai ușoară modalitate de a stabili un transfer de fișiere simplu între fișierele noastre Pi și computerele de la distanță este să porniți o interfață GUI pe conexiunea SSH. Amintiți-vă cum am vorbit despre utilizarea SCP peste SSH mai devreme în tutorial? Fuga de la linia de comandă devine reală plictisitoare, rapidă. Cu un GUI wrapper, vom putea petrece mai mult timp în mutarea fișierelor și jucând cu Pi și mai puțin timp pecking la tastatură.
Deși există o varietate de împachetări GUI pentru comanda SCP, vom merge cu un instrument pe mai multe platforme pe care mulți oameni deja îl cunosc, îl au și îl iubesc (și poate chiar să nu știe că efectuează transferuri SCP): FileZilla. Este disponibil pentru Windows, OS X și Linux - puteți lua o copie aici.
Odată ce ați instalat FileZilla, opriți-l și accesați File -> Site Manager. Creați o intrare nouă a site-ului, denumiți-o și introduceț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 conectați în partea de jos și veți fi tratat într-o vizualizare similară cu cea de mai sus:
Directoarele locale sunt în panoul din stânga iar directoarele de la distanță de pe Pi sunt în panoul din dreapta. Mutarea fișierelor între cele două este la fel de simplă ca tragerea și plasarea acestora.
Profitând de transferul de fișiere SSH existent este cel mai simplu mod de a ajunge la fișierele de pe Pi fără configurare suplimentară necesară dar dacă doriți să configurați dispozitivul Pi pentru a primi și a distribui fișiere fără ca utilizatorul de la distanță să aibă nevoie de instrumente fiabile (cum ar fi un client FTP capabil de SCP, cum ar fi FileZilla), vă recomandăm să consultați secțiunea de configurare Samba din ghidul nostru: Cum să transformi o Zmeură Pi într-un dispozitiv de stocare de rețea cu o putere redusă. Citirea peste aceasta vă va familiariza cu configurarea unei acțiuni de bază Samba pe Pi pentru a crea un folder partajat ușor accesibil de aproape oricine din rețeaua dvs. fără alte instrumente.
Ați configurat SSH, ați configurat VNC și ați configurat accesul SFTP simplu și / sau Samba la dispozitivul dvs. Pi - în acest moment puteți să-l înlăturați pe Raspberry Pi, să îndepărtați monitorul, tastatura și mouse-ul, și o dați jos ca o mașină tăcută și fără cap.
Aveți o idee pentru proiectul Raspberry Pi și sunteți pe moarte pentru noi să scriem un tutorial pentru asta? Sunați-ne în comentariile dvs. sau împușcați-ne un e-mail la [email protected] și vom face tot posibilul pentru a vă ajuta.