19Aug

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 detta?

Pi, även klädd i ett robust fodral, är en liten dator. Det är perfekt för tucking någonstans ur sikte utan att en giggle av trådar sticker ut av det - för många projekt behöver du helt enkelt inte en permanent bildskärm och periferi ackompanjemang.

Att inte betyder 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 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 ochkoppla 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 interagera med vår Pi-enhet från vår stationära dator som om viJag 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 grundläggande funktioner och få 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 kabelnätverk för att ansluta Pi och din dator.

Först, de flesta av stegen i denna handledning bör fungera med andra Linux-baserade Pi-distributioner men vi ska använda Raspbian. Du borde ha 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 lättaste 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 Aktivera och tryck på Enter igen. Du kommer att returneras till Raspi-config-panelen;navigera ner till Slut och tryck 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 respektive hallon .

Medan du fortfarande sitter vid kommandoraden är det nu dags att kolla IP-adressen till din Raspberry Pi-enhet på det lokala nätverket. Skriv ifconfig vid prompten och kolla sedan på kommandot. Om du använder Ethernet-porten vill du leta efter init addr i avsnittet eth0 ;Om du använder Wi-Fi, vill du leta efter init addr i avsnittet wlan0 .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 -kommandot på 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 sig 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 nedan:

Höger Öppna längst ner och PuTTY startar ett terminalfönster för dig, anslut dig till din Pi och uppmanar dig attlogga in. Gå vidare och logga in med pi / hallon :

När din SSH-anslutning är funktionell kan du tekniskt slutföra resten av denna handledning på distans från ditt skrivbords komfort, även om vi skulle råda att lämna huvudet och tangentbordetpå ditt system tills du har avslutat hela projektet och har allt igång.

Innan vi fortsätter finns det en del extrafunktioner som vi kan klämma ut ur SSH.Förutom att hantera kommandoraden på distans kan du också fjärröverföra 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 användbart. 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.

Installera och konfigurera ditt fjärrskrivbord

Fjärrkommandotillgång ä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 verktyget som vi installerar faktiskt 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-skrivarklient för Windows
  • TightVNC-skrivarklient för Linux / Unix-liknande system
  • RealVNC-skrivbordsklient för OSX

Ta en kopia nu ochvi 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, vilket 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ärmsvisningpå fjärrdatorn. För att ange upplösningen på VNC-skrivbordet, använd följande kommando genom att byta ut 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 VNC-serverns förekomst och / eller vill stänga av VNC-servern, anger du bara följande( ändrar numret efter kolon till numret på den VNC-instans du villdö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 såhär:

Och här är vår belöning för att konfigurera vår VNC-server. En bra 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 permission change, kommer att orsaka problem med det faktiska monitor-attached-skrivbordet( samtidigt som fjärrskrivbordet gränssnittet 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 följande kommando:

sudo chown pi /home/pi/. Xauthority

Detta kommando ändrar ägandet av. Xauthority-filen tillbaka till användaren pi-forDen nyfikna filen. Xauthority används av X-Windows-systemet i Rasbian och något under installationen och konfigurationen av TightVNC-servern 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äller in SSH-servern för att starta automatiskt vid uppstart 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 automatiskt starta VNC-servern måste vi ställa in en init- eller initialiseringsfil som Raspbian ska använda för att starta och stänga av servern under start och avstängning. 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-redigeraren klistra in följande kod( se till att ändra upplösningsvärdet 1600 × 900 för att matcha skärmen på din fjärrdator:

#! /bin/ sh
### BEGIN INIT INFO
# Ger: tightvncserver
# Obligatorisk-Start:
# Obligatorisk-Stopp:
# Standardstart: 2 3 4 5
# Standardstopp: 0 1 6
# Kort beskrivning: start vnc-server
# Beskrivning:
### END INIT INFO

fall "$ 1 "i
start)
su pi -c 'vncserver: 1-geometri 1600 × 900 -depth 16-pixelformat rgb565:'
eko" VNC startat "
; ;
-stopp)
pkill Xtightvnc
eko "VNC Terminated"
; ;
*)
echo "Användning: /etc/init.d/ tightvnc{ start | stop}"
avsluta 1
; ;
esac

Förutom att ändra skärmens upplösningsdel av skriptet 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/ starta

sudo /etc/init.d/ tightvnc stop

Den senaste förändringen vi ska göra är att uppdatera rc.d-filen( vilka spår som initieringsskript finns i /init.d/-mappen):

sudo update-rc.d tightvnc standardvärden

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 korrekt efter omstart? Ange följande på kommandoraden för att starta om och vara beredd 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 korrekt.

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ära dator.

Konfigurera och konfigurera filöverföringsverktyg

Eftersom vi redan har SSH-konfigurationer, är det enklaste sättet att ställa in 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 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 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 ska du skjuta upp den och gå till File - & gt;Platschef. Skapa en ny webbplatsinmatning, namnge den och ange användarnamn och lösenord för din Pi.

Se till att du ställer in porten till 22 och Servertype till SFTP - SSH File Transfer Protocol. Klicka på ansluta 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 är i högra rutan. Att flytta filer mellan de två är lika enkelt som att dra och släppa dem.

Att dra fördel av den befintliga SSH-filöverföringen är det enklaste sättet att komma till filerna på Pi utan ytterligare konfiguration som krävs men om du vill konfigurera din Pi för att ta emot och dela filer utan att fjärranvä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: Så här byter du en Raspberry 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 på 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-så kan du starta upp din Raspberry Pi, ta bort bildskärmen, tangentbordet och musen, och ta bort det som en tyst och huvudlös maskin.

Har du en idé för Raspberry Pi-projektet och du dör för oss att 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 till.