Så du har en Raspberry Pi och du vill maximera dess lilla fotavtryck genom att förvandlas till en helt fristående låda - ingen bildskärm, tangentbord eller andra ingångsutrustning. Läs vidare när vi visar dig hur du ställer in fjärrskal, skrivbord och filöverföringsåtkomst på din Pi.
Varför vill jag göra det här?
Pi, även klädd i ett robust fodral, är en liten dator. Den är perfekt för att tippa någonstans utom synhåll utan att en sladd av trådar sticker ut från den - för många projekt behöver du helt enkelt inte en permanent bildskärm och perifert ackompanjemang.
Det där inte menar dock att du inte behöver ansluta till rutan för att göra ändringar, uppdatera saker, överföra filer och så vidare. Ett perfekt exempel på detta är den svala lilla regnindikatorn vi byggde som en del av vår Bygg en LED-indikator med en Raspberry Pi (för e-post, väder eller annat) artikel. Det behöver inte alla de sakerna som är kopplade direkt till det, men vi skulle ändå vilja ha möjligheten att hoppa på enheten och enkelt göra ändringar eller prova ett nytt experiment med LED-modulen utan att behöva dra den tillbaka till verkstaden, och anslut den till en bildskärm, tangentbord, mus, etc. Genom att konfigurera den för fjärrskal, fjärrskrivbord och fjärranslutning av filer gör vi det super enkelt att alltid interagera med vår Pi-enhet från bekvämligheten på vår stationära dator som om vi har anslutit enheten till en full arbetsstation.
Vad behöver jag?
Om du är helt ny för att arbeta med Raspberry Pi, rekommenderar vi att du checkar ut HTG-guiden för att komma igång med Raspberry Pi för att ta hand om grunderna i enheten och komma upp i fart.
För denna handledning behöver du följande saker:
- En Raspberry Pi som kör Raspbian.
- En stationär eller bärbar dator.
- Ett lokalt Wi-Fi eller trådbundet nätverk för att ansluta Pi och din dator.
För det första bör de flesta stegen i denna handledning fungera med andra Linux-baserade Pi-distributioner men vi kommer att använda Raspbian. Du borde ha lite problem med att anpassa handledningen till andra distributioner.
För det andra använder vi en Windows-maskin som vår nätverksdator för att interagera med Raspberry Pi-enheten som fjärrhuvud / gränssnitt. När det är lämpligt kommer vi att göra vårt bästa för att länka till handledning och föreslagen läsning angående utförande av parallella uppgifter och verktyg på OS X och Linux.
Konfigurera och ansluta till SSH-servern
Fjärrkommandotillträde till din Raspbian-installation handlar om den mest lilla finjusteringen du kan göra i ditt system, och det är helt enkelt att aktivera.
Öppna terminalen i Raspbian, genvägen är LXTerminal på skrivbordet och skriv in följande kommando:
sudo raspi-config
Navigera ner till ssh och tryck Enter. När du uppmanas till SSH-servern väljer du Gör det möjligt och tryck Enter igen. Du kommer att återlämnas till Raspi-konfigurationspanelen. navigera ner till Avsluta och tryck på enter för att stänga konfigurationsverktyget. Det är allt du behöver göra för att aktivera SSH-åtkomst till din Pi. Standard SSH-inloggning och lösenord är pi och hallon respektive.
Medan du fortfarande sitter vid kommandoraden är det nu en bra tid att kontrollera IP: n för din Raspberry Pi-enhet i det lokala nätverket. Typ ifconfig vid prompten och titta sedan på kommandot. Om du använder Ethernet-porten vill du leta efter init addr i eth0 sektion; om du använder Wi-Fi vill du leta efter init addr i wlan0 sektion. Förutom att kontrollera och notera IP-adressen är det också en bra tid att göra det ställa in en statisk IP-post i din router så att du inte behöver jaga IP i framtiden.
Nu när vi har aktiverat SSH-servern vet vi inloggningen och vi känner till maskinens IP-adress, det är dags att ansluta via SSH och testa den. För att göra det från Linux och OS X kan du helt enkelt använda ssh kommandot vid terminalen. Windows-användare behöver dock en SSH-klient som Spackel .
Eftersom vi använder en Windows-låda för att fjärrhantera vår Pi, PuTTY är det. Installera en kopia av PuTTY eller extrahera den bärbara versionen och skjut upp den. Det finns mycket av inställningar du kan röra med i PuTTY, men vi behöver bara oroa dig för en enda sak för att ansluta till vår Pi. På huvudgränssnittsgränssnittet skriver du bara in din IP-adress och väljer SSH under det:
Träffa Öppna längst ner och PuTTY kommer att starta ett terminalfönster åt dig, ansluta till din Pi och uppmana dig att logga in. Fortsätt och logga in med pi / hallon :
När din SSH-anslutning är funktionell kan du tekniskt slutföra resten av denna handledning fjärrkontrollen från ditt skrivbord - även om vi rekommenderar att du lämnar huvudet och tangentbordet på ditt system tills du har avslutat hela projektet och att allt går smidigt.
Innan vi går vidare finns det lite extra funktionalitet som vi kan pressa ut ur SSH. Förutom att hantera kommandoraden på distans, kan du också fjärröverföra filer med Secure Copy. Det är kommandoradsintensivt och inte särskilt bekvämt för att överföra ett stort antal filer från flera kataloger, men för en engångskonfigurationsfilöverföring eller annan liten dumpning är det ganska praktiskt. Kolla upp vår guide för att kopiera filer över SSH med SCP-kommandot här .
Vi kommer att titta närmare på mer användarvänliga / GUI-baserade filöverföringstekniker senare i handledningen.
Konfigurera och konfigurera fjärrskrivbordet
Fjärrkommandotillgång är fantastisk, men det är också att ha tillgång till skrivbordet för GUI-fokuserade aktiviteter. Låt oss föra samman kommandoradens och skrivbordets befogenheter.
Även om vi har hänvisat till det som "fjärrskrivbord" till denna punkt, är verktyget vi faktiskt installerar känt som Virtual Network Computing (VNC) - texter som många känner till som RealVNC och TightVNC. För den här handledningen installerar vi TightVNC på Pi. För att komma åt den Pi-baserade TightVNC-sessionen behöver du en fjärrklient som:
- TightVNC skrivbordsklient för Windows
- TightVNC stationär klient för Linux / Unix-liknande system
- RealVNC skrivbordsklient för OSX
Ta en kopia nu och vi kommer att trappa ut den senare i det här avsnittet. För nu, låt oss börja med att installera TightVNC-servern på din Raspberry Pi. Öppna terminalen. Ange följande kommando för att komma igång:
sudo apt-get install tightvncserver
Detta hämtar och packar upp installationsfilerna. när du uppmanas att fortsätta trycker du på Y. När installationen är klar kommer du tillbaka till uppmaningen. Du kan starta VNC på två sätt. Kör bara kommandot för servern så här:
tightvncserver
Uppmanar dig att ange ett lösenord för att komma åt ditt VNC-skrivbord - som visas på skärmdumpen ovan. Lösenordet måste vara 4-8 tecken långt. När du har bekräftat lösenordet kommer du att bli ombedd att ange ett visningslösenord (du kan välja bort steget, som vi gjorde).
Alternativt kan du använda ett mycket mer exakt, om än längre för att skriva ut, ett kommando som ger dig mer kontroll över hur fjärrdatorn kommer att se skrivbordet - viktigast av allt, vilken upplösning skrivbordet visar så att du kan njuta av en helskärmsvy på fjärrdatorn. För att specificera upplösningen på VNC-skrivbordet, använd följande kommando och byt ut upplösningsvärdet (det fjärde objektet i kommandot) för upplösningen på fjärrskrivbordet:
vncserver: 1 -geometri 1600 × 900 -djup 16 -pixelformat rgb565:
Om du vid något tillfälle gör ett misstag när du ställer in din VNC-serverinstans och / eller om du vill stänga av VNC-servern, anger du helt enkelt följande (ändra numret efter kolon till numret på VNC-instansen du vill döda) :
vncserver –kill: 1
Nu när vi har VNC-servern igång, låt oss ansluta till den från vårt fjärrskrivbord. Slå upp TightVNC-visaren på din dator och anslut i Raspberry Pi-enhetens IP-adress följt av: 1 så:
Och här är vår belöning för att framgångsrikt konfigurera vår VNC-server - en fin helskärmsvy av vår fjärr Raspberry Pi-enhet:
Det finns ett känt problem med TightVNC och Rasbian som, tack vare en otydlig ändring av tillstånd, kommer att orsaka problem med det faktiska bildskärmsanslutna skrivbordet (samtidigt som fjärrskrivbordets gränssnitt från VNC-servern lämnas orörd). För att åtgärda problemet innan det ens blir ett problem för dig, gå direkt till kommandoraden och ange följande kommando:
sudo chown pi /home/pi/.Xauthority
Detta kommando ändrar äganderätten till .Xauthority-filen tillbaka till användar-pi - för nyfiken används .Xauthority-filen av X-windows-systemet i Rasbian och något under installationen och konfigurationen av TightVNC-servern orsakar så lite behörighet hicka.
Med den lilla mindre avvägen, låt oss återgå till att avsluta vår fjärrskrivbordskonfiguration.
Nu när vi har full kommandorad och skrivbordsåtkomst till Raspberry Pi finns det en inte så trivial tweak vi behöver göra. Raspi-config-verktyget ställer in SSH-servern så att den startar automatiskt för oss, men VNC-servern är ännu inte konfigurerad på ett sådant sätt. Du kan hoppa över det här steget och manuellt starta servern på kommandoraden via SSH när du behöver det, men vi försöker göra det så krångligt som möjligt för framtida bruk. Låt oss ta en minut nu och skapa en startfil för VNC-servern.
För att automatiskt starta VNC-servern måste vi ställa in en init eller en initialiseringsfil som Raspbian kommer att använda för att starta och stänga servern under start- och avstängningsprocessen. Låt oss skapa init-filen nu. Skriv följande kommando på kommandoraden:
Sudonna / Etc / Ini t. d / chi ghtvn c
Detta skapar en fil i initialiseringskatalogen som heter “tightvnc” och öppnar nano-redigeraren så att vi kan klistra in i vårt skript. Klistra in följande kod i nano-redigeraren (se till att ändra upplösningsvärdet 1600 × 900 så att den matchar skärmen på din fjärrdator:
#! / bin / sh
### BEGIN INIT INFO
# Ger: tightvncserver
# Obligatorisk start:
# Obligatoriskt stopp:
# Standardstart: 2 3 4 5
# Standard-stopp: 0 1 6
# Kort beskrivning: starta vnc-server
# Beskrivning:
### SLUT INIT INFOfall "$ 1" i
Start)
su pi -c ‘vncserver: 1 -geometri 1600 × 900 -djup 16 -pixelformat rgb565:’
eko “VNC Started”
;;
sluta)
pkill Xtightvnc
eko “VNC Terminated”
;;
*)
eko “Användning: /etc/init.d/tightvnc {start|stop}”
avfart 1
;;
esac
Förutom att ändra skärmupplösningsdelen av skriptet finns det en annan sak du kan ändra. I rad 14 kan du ändra kommandot “su pi -c” till vilket annat användarkonto som helst förutom “pi” om du vill VNC till det specifika skrivbordet för det kontot.
När du har klistrat in och ändrat koden är det dags att spara den. Tryck på CTRL + X för att avsluta och spara ditt arbete i nano. När du väl är tillbaka på kommandoraden måste vi göra några snabba ändringar av filens behörigheter:
sudo chmod 755 /etc/init.d/tightvnc
Nu är initialiseringsfilen körbar. Vi kan testa det från prompten:
sudo /etc/init.d/tightvnc start
sudo /etc/init.d/tightvnc stopp
Den senaste ändringen vi ska göra är att uppdatera rc.d-filen (som spårar vilka initieringsskript som finns i /init.d/-mappen):
sudo update-rc.d tightvnc standard
När du har angett det kommandot får du en bekräftelse på att filen har uppdaterats. Nu är det dags för det riktiga testet: laddas filen ordentligt efter omstart? Ange följande på kommandoraden för att starta om och var beredd med din VNC-klient för att testa anslutningen på ett ögonblick:
omstart av sudo
När systemet har startat om, logga in med din VNC-klient. Om din VNC-session misslyckas besöker du kommandotolken och kör startkommandot tightvnc (från testdelen ovan) igen för att dubbelkontrollera att filen är körbar och att lösenordet har sparats ordentligt.
Vid den här tiden är vi ännu längre i vårt uppdrag att fjärrstyra vår Raspberry Pi-enhet. Med fjärrkommandotillgång via SSH och fjärrskrivbordsåtkomst via VNC under våra band, går vi vidare till att förenkla processen för överföring av filer mellan vår Pi och stationära dator.
Konfigurera och konfigurera verktyg för filöverföring
Eftersom vi redan har konfigurerat SSH är det enklaste sättet att ställa in död enkel filöverföring mellan våra Pi och fjärrdatorer att pigga tillbaka ett GUI-gränssnitt på SSH-anslutningen. Kommer du ihåg hur vi pratade om att använda SCP över SSH tidigare i handledningen? Att köra det från kommandoraden blir riktigt tråkigt, riktigt snabbt. Med ett GUI-omslag kan vi spendera mer tid på att flytta filer och spela med vår Pi och mindre tid på att peka på tangentbordet.
Även om det finns en rad GUI-omslag för SCP-kommandot, kommer vi att gå med ett plattformsverktyg som många redan känner, har och älskar (och kanske till och med är omedvetna om att det gör SCP-överföringar): FileZilla. Den är tillgänglig för Windows, OS X och Linux - du kan ta en kopia här .
När du har installerat FileZilla, starta den och gå till Arkiv -> Platshanteraren. Skapa en ny webbplatspost, namnge den och anslut användarnamn och lösenord för din Pi.
Slutligen, se till att ställa in porten till 22 och Servertype till SFTP - SSH File Transfer Protocol. Klicka på anslut längst ner så behandlas du med en vy som liknar den här:
Dina lokala kataloger finns i den vänstra rutan och fjärrkatalogerna på Pi finns i den högra rutan. Att flytta filer mellan de två är lika enkelt som att dra och släppa dem.
Att utnyttja den befintliga SSH-filöverföringen är det enklaste sättet att komma till filerna på Pi utan ytterligare konfiguration nödvändig men Om du vill konfigurera din Pi för att ta emot och dela filer utan att fjärranvändaren behöver några snygga verktyg (som en SCP-kompatibel FTP-klient som FileZilla), rekommenderar vi starkt att du tittar på Samba-konfigurationsdelen i vår guide: Hur man gör en Raspberry Pi till en nätverkslagringsenhet med låg effekt . Att läsa igenom det gör dig bekant med att skapa en grundläggande Samba-delning på Pi för att skapa en delad mapp som är lättillgänglig för nästan vem som helst i ditt nätverk utan några extra verktyg.
Du har konfigurerat SSH, du har konfigurerat VNC och du har ställt in enkel SFTP- och / eller Samba-åtkomst till din Pi - vid den här tiden kan du starta ner din Raspberry Pi, ta bort bildskärmen, tangentbordet och musen, och stoppa bort den som en tyst och huvudlös maskin.
Har du en idé för Raspberry Pi-projektet och du vill att vi ska skriva en handledning för det? Ljud av i kommentarerna eller skjut oss ett e-postmeddelande på [email protected] och vi gör vårt bästa för att hjälpa.