Raspberry Pi är en liten, kostnadseffektiv dator som finns i många former och storlekar och som underlättar en mängd applikationer, allt från något så enkelt som att lära sig koda till komplexa hemautomationsprojekt; användningsområdet är obegränsat.
En av de många funktionerna som gör Raspberry Pi så mångsidig är dess förmåga att köra alla typer av program, precis som en vanlig dator. I själva verket, inte bara det, du kan till och med skriva dina egna skript – för vilket mål du än har i åtanke – och köra dem på Pi.
Varför skulle du vilja köra ett program vid uppstart?
Även om Raspberry Pi kan köra alla möjliga program, måste du fortfarande köra dessa program manuellt varje gång du vill köra dem. Uppenbarligen innebär detta tillvägagångssätt ett extra steg. Och även om det inte innebär mycket besvär, finns det tillfällen då du behöver ett program för att köras direkt efter att Raspberry Pi startar.
Föreställ dig till exempel att du använder din Raspberry Pi för att övervaka aktiekurser: där du kör ett skript varje dag när din Pi startar, och det hämtar information från fördefinierade resurser och presenterar den för en skärm.
Här, trots att du effektiviserar processen med att spåra aktiekurser, måste du fortfarande köra skriptet varje dag. Men tack vare automatisering är det möjligt att eliminera den manuella inmatningen från ekvationen genom att låta din Pi köra skriptet automatiskt vid start.
Det är för situationer som dessa när du vill köra ett program vid uppstart.
Hur man kör ett program vid uppstart
Det finns flera sätt att köra ett program vid start på Raspberry Pi. För den här guiden kommer du dock att lära dig hur du använder tre av dessa effektiva och lätta att följa metoder.
Notera: Vi har använt dessa metoder för att köra vårt Python-skript, och du kan göra det med alla dina skript eller till och med de inbyggda programmen på Raspberry Pi. Se bara till att du använder rätt metod för att köra ditt program.
1. Använd filen rc.local
rc.local är en systemadministrerad fil som körs efter att alla systemtjänster startar, dvs. efter byte till en körningsnivå för flera användare. Det är den enklaste metoden att få program att köras vid uppstart på Linux-system. Men det finns en varning: du kan bara använda den här metoden för program utan GUI-element (grafiskt användargränssnitt) eftersom rc.local körs innan Raspberry Pis fönstersystem startar.
För att ställa in ett program att köra vid uppstart måste vi ändra filen rc.local och lägga till kommandon till den. Så här gör du det.
- Öppna terminalen och skriv följande kommando för att öppna filen rc.local: sudo nano /etc/rc.local. I filen rc.local anger du följande kodrad före “exit 0”-raden: python3 /home/pi/PiCounter/display.py &. Här, byt ut PiCounter/display.py med ditt program/skriptnamn. Se också till att du använder den absoluta sökvägen till ditt program och inte dess relativa sökväg.
Efter det, slå CTRL + O för att spara filen. Skriv in i terminalen sudo omstart.
(Lägg märke till att kommandot slutar med et-tecken (&). Detta för att informera systemet om att programmet vi schemalägger körs kontinuerligt, så det bör inte vänta tills ditt skript är klart innan du startar uppstartssekvensen. Notera att den misslyckas om du lägger till et-tecken i kommandot kommer skriptet att köras för alltid, och din Pi kommer aldrig att starta upp.)
När din Pi startar bör den köra ditt program automatiskt. Om du av någon anledning vill stoppa programmet från att köras vid uppstart, redigera filen rc.local igen för att ta bort raden du just lade till.
2. Använd Cron för att schemalägga ett program
Cron är ett konfigurations- och jobbplaneringsverktyg på Unix-liknande system. Det låter dig schemalägga program som du vill köra med fasta intervaller eller periodiskt.
Crons funktionalitet är beroende av crond-demonen, som är en bakgrundstjänst som kör program som är schemalagda i crontab. Alla program som är schemalagda på systemet finns i cron-jobbtabellen (eller crontab).
Så du måste ändra den här tabellen för att lägga till ett schema för programmet som du vill köra vid uppstart. Här är hur:
- Öppna CLI på din Raspberry Pi och gå in crontab -e för att redigera cron-jobbtabellen (crontab). Om du öppnar crontab för första gången måste du välja en redigerare. Du kan välja din föredragna redigerare eller fortsätta med Nano. I båda fallen anger du namnet på redaktören och trycker Stiga på. För att skriva in i cron-tabellen, skriv in kommandot: @reboot python3 /home/pi/PiCounter/display.py &. I ditt kommando, se till att du ersätter programnamnet och dess sökväg.
Tryck CTRL + O för att skriva raden till crontab. Typ sudo omstart i terminalen för att starta om din Pi.
Cron bör nu köra ditt program varje gång din Pi startar. Om du vill stoppa detta schema, ta bort kommandot i crontab.
3. Kör GUI-program vid uppstart med autostart
Autostart är det bästa sättet att köra GUI-baserade Raspberry Pi-program vid uppstart. Det fungerar genom att säkerställa att både X Window-systemet och LXDE-skrivbordsmiljön är tillgängliga innan systemet kör något av de schemalagda programmen.
Om du har ett skript som körs i fönsterläge, eller om du vill köra något av de GUI-baserade programmen/applikationerna vid start på din Raspberry Pi, bör du schemalägga dem att köras med autostart. Här är stegen för att göra detta.
- Öppna först terminalen och skriv in följande kommando för att skapa en .desktop-fil i autostartkatalogen: sudo nano /etc/xdg/autostart/display.desktop. Vi har använt display.desktop som filnamn, men du kan namnge din skrivbordsfil vad du vill. Lägg till följande kodrader i .desktop-filen:
[Desktop Entry]
Name=PiCounter
Exec=/usr/bin/python3 /home/pi/PiCounter/display.py
I den här filen ersätter du värdet för namn fält med ditt projekt-/skriptnamn. På samma sätt har vi lagt till vårt display.py-program för att köras varje gång Raspberry Pi startar. Du kan dock ersätta det med vilket program du vill köra. Faktum är att du till och med kan schemalägga att köra ett tredjepartsprogram, som webbläsaren Chrome; i så fall bör .desktop-filen innehålla följande kod:
[Desktop Entry]
Name=Chrome
Exec=chromium-browser
Efter det, slå CTRL + O för att spara filen och skriv sedan in sudo omstart för att starta om Pi.
Så fort din Pi startar bör ditt GUI-program också starta automatiskt. Om du skulle vilja stoppa ditt program från att köras vid start längre, gå helt enkelt till autostart-mappen och ta bort .desktop-filen du just skapade.
Kör ett program framgångsrikt vid start på Raspberry Pi
Även om det finns många sätt att köra ett program vid start på Linux-baserade system, bör metoderna vi har nämnt i den här guiden hjälpa dig med att schemalägga program på Raspberry Pi.
Så oavsett vilken typ av program du vill köra – anpassat skript eller en tredjepartsapplikation – bör dessa metoder ha dig täckt. Och du bör kunna minska det extra steg som krävs för att köra programmet varje gång du vill köra det.
Om författaren
Yash Wate (40 publicerade artiklar)
Yash är personalskribent på MUO för gör-det-själv, Linux, programmering och säkerhet. Innan han hittade sin passion för att skriva brukade han utveckla för webben och iOS. Du kan också hitta hans författarskap på TechPP, där han täcker andra vertikaler. Förutom teknik tycker han om att prata om astronomi, Formel 1 och klockor.
Mer från Yash Wate
Prenumerera på vårt nyhetsbrev
Gå med i vårt nyhetsbrev för tekniska tips, recensioner, free e-böcker och exklusiva erbjudanden!
Klicka här för att prenumerera
