Så här konfigurerar du din Raspberry Pi för fjärrskal, skrivbord och filöverföring
Så du har en Raspberry Pi och du vill maximera sitt lilla fotavtryck genom att bli en helt fristående låda utan skärm, tangentbord eller andra ingående kringutrustning. Läs vidare när vi visar dig hur du konfigurerar 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 fall, är en liten dator. Det är perfekt för att tucka någonstans ur sikte utan att det finns en giggle av ledningar som sticker ut av det - för många projekt behöver du helt enkelt inte en permanent bildskärm och periferi ackompanjemang.
Den där inte menar 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 snygga lilla regnindikatorn som vi byggt som en del av vår Bygg en LED-indikator med en Raspberry Pi (för e-post, väder eller något). Det behöver inte alla saker som är knutna till det, men vi vill fortfarande ha möjlighet att hoppa på enheten och enkelt göra ändringar eller prova nya experiment med LED-modulen utan att behöva dra tillbaka den i verkstaden och koppla upp den till en bildskärm, ett tangentbord, en mus osv. Genom att konfigurera den för fjärrskal, fjärrskrivbord och fjärrfilöverföring gör vi det super enkelt att alltid samverka med vår Pi-enhet från vår stationära dator som om vi Jag har anslutit enheten till en hel arbetsstation.
Vad behöver jag?
Om du är helt ny för att arbeta med Raspberry Pi, rekommenderar vi starkt att du kolla in HTG Guide till Komma igång med Raspberry Pi för att ta hand om basens grunder och få fart.
För denna handledning behöver du följande saker:
- En hallon Pi som kör Raspbian.
- En stationär eller bärbar dator.
- Ett lokalt Wi-Fi eller kabelnätverk för att ansluta Pi och din dator.
Först, de flesta av stegen i denna handledning ska fungera med andra Linux-baserade Pi-distributioner men Vi ska 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 så är lämpligt gör vi vårt bästa för att länka till handledning och förslag till läsning om parallella uppgifter och verktyg på OS X och Linux.
Konfigurera och ansluta till SSH-servern
Fjärrkommandotillgång till din Raspbian-installation handlar om den praktiska lilla tweak du kan göra till ditt system, och det är helt enkelt enkelt att aktivera.
Öppna terminalen i Rasbian, genvägen är LXTerminal på skrivbordet och skriv in följande kommando:
sudo raspi-config
Navigera ner till ssh och tryck på Enter. När du uppmanas till SSH-servern väljer du Gör det möjligt och slå in igen. Du kommer att returneras till Raspi-config-panelen; navigera ner till Avsluta och klicka 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 dags att kolla IP-adressen till din Raspberry Pi-enhet på det lokala nätverket. Typ ifconfig vid det snabba och sedan titta 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 du kontrollerar och noterar IP-adressen är det här också en bra tid att ställa in en statisk IP-post i din router så att du inte behöver jaga efter IP i framtiden.
Nu när vi har SSH-servern aktiverad känner vi till inloggningen, och vi känner till maskinens IP-adress, det är dags att ansluta via SSH och testa det. För att göra det från Linux och OS X kan du helt enkelt använda ssh kommando vid terminalen. Windows-användare behöver dock en SSH-klient som PuTTY.
Eftersom vi använder en Windows-låda för att fjärrhantera vår Pi, är PuTTY det. Installera en kopia av PuTTY eller ta ut 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 att ansluta till vår Pi. På huvudsessionens gränssnitt skriver du bara in din Pi-adress och väljer SSH under det:
Träffa Öppna längst ner och PuTTY startar ett terminalfönster för dig, anslut dig till din Pi och uppmanar dig att logga in. Gå vidare och logga in med pi / hallon:
När din SSH-anslutning är funktionell kan du tekniskt slutföra resten av handledningen på avstånd från skrivbordets komfort, även om vi rekommenderar att du lämnar huvudet och tangentbordet på ditt system tills du har avslutat hela projektet och har allt igång.
Innan vi går vidare finns det en del extrafunktioner som vi kan klämma ut ur SSH. Förutom att hantera kommandoraden fjärrstyrt, kan du också fjärransluta filer via Secure Copy. Det är kommandoradsintensivt och inte särskilt lämpligt för överföring av ett stort antal filer som kommer från flera kataloger, men för en enstaka konfigurationsfilöverföring eller annan liten dumpning är det ganska praktiskt. Kolla in vår guide för att kopiera filer via SSH med SCP-kommandot här.
Vi kommer att titta närmare på användarvänlig / GUI-baserad filöverföringsteknik senare i handledningen.
Konfigurera och konfigurera ditt fjärrskrivbord
Fjärr kommandoradsåtkomst är fantastisk, men det har också tillgång till skrivbordet för GUI-fokuserade aktiviteter. Låt oss ta med befogenheterna på kommandoraden och skrivbordets befogenheter tillsammans.
Även om vi har refererat till det som "fjärrskrivbord" till den här punkten, är det verktyg som vi faktiskt installerar känt som VNC-titlar (Virtual Network Computing), som många är bekanta med som RealVNC och TightVNC. För denna handledning 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-skrivbordsklient för Linux / Unix-liknande system
- RealVNC-skrivbordsklient för OSX
Ta en kopia nu, och vi kommer att trampa ut senare i det här avsnittet. För nu, låt oss gå ner för att installera TightVNC-servern på din Raspberry Pi. Öppna terminalen. Ange följande kommando för att komma igång:
sudo apt-get installera tightvncserver
Detta hämtar och packar upp installationsfilerna. När du blir ombedd att fortsätta trycker du på Y. När installationen är klar kommer du tillbaka till prompten. Du kan starta VNC på två sätt. Hantera bara kommandot för servern så här:
tightvncserver
Kommer att uppmana dig att ange ett lösenord för att komma åt ditt VNC-skrivbord, som det ses i skärmbilden ovan. Lösenordet måste vara 4-8 tecken långt. När du har bekräftat lösenordet kommer du att uppmanas att ange ett visningsbart lösenord (du kan välja bort steg, som vi gjorde).
Alternativt kan du använda en mycket mer exakt, om än längre att skriva ut, kommando som ger dig större kontroll över hur fjärrdatorn ser skrivbordet - viktigast av allt, vilken upplösning skrivbordet kommer att visa så att du kan njuta av en helskärmsvisning på fjärrdatorn. För att ange upplösningen på VNC-skrivbordet, använd följande kommando genom att byta upp upplösningsvärdet (fjärde objektet i kommandot) för upplösning av fjärrskrivbordet:
vncserver: 1-geometri 1600 × 900 -depth 16-pixelformat rgb565:
Om du vid något tillfälle gör ett misstag när du konfigurerar din VNC-serverns förekomst och / eller vill stänga av VNC-servern, anger du bara följande (ändra numret efter kolon till antalet VNC-instanser du vill döda) :
vncserver -kill: 1
Nu när vi har VNC-servern igång, låt oss ansluta den till vårt fjärrskrivbord. Slå upp TightVNC-tittaren på din dator och anslut IP-adressen till Raspberry Pi-enheten följt av: 1 som så:
Och här är vår belöning för att konfigurera vår VNC-server framgångsrikt - en fin helskärmsvy av vår avlägsna Raspberry Pi-enhet:
Det är ett känt problem med TightVNC och Rasbian som, tack vare en wonky tillståndsändring, kommer att orsaka problem med det faktiska monitor-attached-skrivbordet (medan det fjärrskrivbordsgränssnitt som tillhandahålls av VNC-servern är orörd). För att åtgärda problemet innan det ens blir ett problem för dig, sväng höger till kommandoraden och skriv in följande kommando:
sudo chown pi / home/pi/.Xauthority
Detta kommando ändrar ägandet av .Xauthority-filen tillbaka till användaren pi-för den nyfiken, .Xauthority-filen används av X-Windows-systemet i Rasbian och något under installationen av TightVNC-servern och konfigurationsprocessen orsakar den lilla behörigheten hiccup.
Med den lilla mindre omvägen ut vägen, låt oss komma tillbaka för att slutföra vår fjärrskrivbordskonfiguration.
Nu när vi har full kommandorad och skrivbordstillträde till Raspberry Pi finns det en inte så trivial tweak som vi behöver göra. Raspi-config-verktyget ställde in SSH-servern för att starta automatiskt på start 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 starta servern manuellt på kommandoraden via SSH när du behöver det, men vi försöker göra det så känsligt 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 starta VNC-servern automatiskt måste vi ange en init- eller initialiseringsfil som Raspbian ska använda för att starta och stänga av servern under start och avstängningsprocessen. Låt oss skapa init-filen nu. På kommandoraden skriver du följande kommando:
sudo nano /etc/init.d/tightvnc
Detta skapar en fil i initialiseringskatalogen kallad "tightvnc" och öppnar nano-redigeraren så att vi kan klistra in i vårt skript. I nano-editoren klistrar du in följande kod (se till att du ändrar upplösningsvärdet 1600 × 900 för att matcha skärmen på din fjärrdator:
#! / Bin / sh
### BEGIN INIT INFO
# Ger: tightvncserver
# Obligatorisk-Börja:
# Obligatorisk-Stopp:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Kort beskrivning: starta vnc-servern
# Beskrivning:
### Sluta INIT INFOfallet "$ 1" i
Start)
su pi-c 'vncserver: 1-geometri 1600 × 900 -depth 16-pixelformat rgb565:'
eko "VNC Started"
;;
sluta)
pkill Xtightvnc
eko "VNC Terminated"
;;
*)
echo "Användning: /etc/init.d/tightvnc start | stop"
avfart 1
;;
esac
Förutom att ändra skärmupplösningsdelen av manuset, finns det en annan sak som du kan ändra. I rad 14 kan du ändra kommandot "su pi -c" till något annat användarkonto förutom "pi" om du vill VNC till det specifika skrivbordet för det kontot.
När du har klistat in och ändrat koden är det dags att spara det. Tryck CTRL + X för att avsluta och spara ditt arbete i nano. När du är tillbaka på kommandoraden måste vi göra några snabba ändringar av behörigheterna för filen:
sudo chmod 755 /etc/init.d/tightvnc
Nu är initialiseringsfilen körbar. Vi kan testa det från prompten:
sudo /etc/init.d/tightvnc starta
sudo /etc/init.d/tightvnc stop
Den sista ändringen vi ska göra är att uppdatera rc.d-filen (vilka spår som initiliseringsskript finns i /init.d/ mappen):
sudo update-rc.d tightvnc standardinställningar
När du har skrivit in det här 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 vara förberedd med din VNC-klient för att testa anslutningen på ett ögonblick:
sudo omstart
När systemet har slutförts omstart, logga in med din VNC-klient. Om din VNC-session misslyckas, besök kommandotolken och kör kommandot tightvnc start (från testdelen ovan) igen för att dubbelklicka på att filen är körbar och att lösenordet sparades ordentligt.
Vid den här tiden är vi ännu längre i vårt uppdrag att helt fjärrstyra vår Raspberry Pi-enhet. Med fjärrstyrd kommandoradåtkomst via SSH och fjärrskrivbordstillbehör via VNC under våra bälten, låt oss gå vidare för att förenkla processen att överföra filer mellan vår Pi och stationär dator.
Konfigurera och konfigurera filöverföringsverktyg
Eftersom vi redan har SSH-konfigurationer, är det enklaste sättet att skapa en död enkel filöverföring mellan våra Pi och fjärrdatorer att piggy tillbaka ett GUI-gränssnitt på SSH-anslutningen. Kom ihåg hur vi pratat 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 att pissa på tangentbordet.
Medan det finns en mängd olika GUI-omslag för SCP-kommandot, kommer vi att gå med ett plattformsverktyg som många redan vet, har och älskar (och kan till och med vara omedveten 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, skjuter den upp och går till Arkiv -> Webbhanteraren. Skapa en ny webbplatsinmatning, namnge den och ange användarnamn och lösenord för din Pi.
Slutligen försäkra dig om att ställa in porten till 22 och Servertype till SFTP - SSH File Transfer Protocol. Klicka på Anslut längst ner och du kommer att behandlas till en vy som liknar den här:
Dina lokala kataloger finns i den vänstra rutan och fjärrmapparna på Pi finns i 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 som behövs men Om du vill konfigurera din Pi för att ta emot och dela filer utan att den fjärranslutna användaren behöver några fina verktyg (som en SCP-kompatibel FTP-klient som FileZilla) rekommenderar vi starkt att kontrollera Samba-konfigurationsdelen av vår guide: Hur man gör en hallon Pi till en lagringsenhet med låg effekt. Om du läser över det kommer du att bekanta dig med att skapa en grundläggande Samba-del på Pi för att skapa en delad mapp som är lättillgänglig av nästan alla i ditt nätverk utan några extra verktyg.
Du har konfigurerat SSH, du har konfigurerat VNC, och du har skapat enkel SFTP- och / eller Samba-åtkomst till din Pi. Då kan du starta upp din Raspberry Pi, ta bort bildskärmen, tangentbordet och musen, och ta bort den som en tyst och huvudlös maskin.
Har du en idé för Raspberry Pi-projektet och du dör för att vi ska skriva en handledning för det? Ljud av i kommentarerna eller skjut oss ett mail på [email protected] och vi gör vårt bästa för att hjälpa.