Raspberry Pi Autostart

Allgemein

Raspberry Pi Autostart: Programm automatisch starten lassen

Immer wieder passiert es, dass man Programme installiert, aber diese nicht automatisch beim hochfahren starten. Um den Raspberry Pi Autostart nutzen zu können, braucht man lediglich die Informationen in der /etc/rc.local Datei im Linux System zu hinterlegen.

Das ist z.B. bei DNS Service noip2 der Fall. Im folgenden zeige ich wie man ein Programm ohne viel Mühe automatisch starten lässt, anhand vom Beispiel noip2.



 

Raspberry Pi Autostart Skript

Als erstes muss im Verzeichnis /etc/init.d/ ein Skript erstellt werden, mittels welchem das Programm gestartet wird, daher erstellen wir ein Skript (es muss nicht unbedingt eine Datei-Endung haben)

sudo nano /etc/init.d/NameDesSkripts
mit folgendem Inhalt:

Anstelle von noip2 kann hier natürlich auch jeden andere installierte Programm stehen, aber sei vorsichtig, dass auf keine Benutzerinteraktion gewartet wird (wie das Bestätigen bei apt-get), da es im schlimmsten Fall dazu kommt, dass beim booten auf die Eingabe gewartet wird und der Pi nicht startet.

Als nächstes weisen wir die benötigten Rechte zu (Lesen & Schreiben)

sudo chmod 755 /etc/init.d/NameDesSkripts
und testen das Skript indem wir es starten
sudo /etc/init.d/NameDesSkripts start
und gleich wieder stoppen:
sudo /etc/init.d/NameDesSkripts stop
Damit das Skript beim booten auch aufgerufen wird, führen wir folgendes aus:
sudo update-rc.d NameDesSkripts defaults
Nun sollte das Programm bei starten auch ausgeführt werden. Solltest du eines Tages dich umentscheiden und das Programm aus dem Autostart nehmen wollen, kannst du dies mit:
sudo update-rc.d -f  NameDesSkripts remove

Wer mehr über das Thema erfahren will, kann dies hier tun.

 

Raspberry Pi Autostart – weitere Möglichkeiten

Eine andere Option zum Starten eines Skripts oder Programms ist „Cron“. Dadurch ist es möglich einen Befehl (der ein Aufruf eines Programms o.ä. sein kann) zu einem bestimmten Zeitpunkt zu starten. Der Zeitpunkt kann dabei entweder z.B. um die gleiche Uhrzeit am Tag sein oder aber nach dem Hochfahren des Systems. Cron bietet sehr viele Anpassungsmöglichkeiten, welche hier eingesehen werden können.

 



, ,


15 Kommentare

  1. Peter sagt:

    Danke erst einmal für das Tutorial.

    Mit dem Befehl “ sudo /etc/init.d/NameDesSkripts start“ kann ich meine Konsolenanwendung wunderbar starten. Allerdings funktioniert die Anwendung beim Neustart nicht.
    Gibt es dazu weitere Sachen, die man einstellen kann? Was wird mit dem Befehl „sudo update-rc.d NameDesSkripts defaults“ eigentlich genau gemacht?

    Das Skript beinhaltet eigentlich nur zwei cd-Befehle und ruft dann die entsprechende Datei in dem Ordner auf.

  2. Peter sagt:

    Also ich hab jetzt noch eine Anwendung eingebaut, dass ich eine E-Mail bekomme, wenn das Skript korrekt ausgeführt wird. Der Aufruf des Skriptes aus dem Autostart heraus klappt damit auf jeden Fall. D.h. meine erste Annahme ist schlichtweg falsch gewesen. Ich dachte nämlich, wenn ich mich über den Remotedesktop verbinde eine offene Konsole sehe und kam dadurch auf meine These. Danke dir, Felix. Die Zeile fügt mein Skript praktisch in den Ordner Autostart, wenn ich es denn mit Windows vergleichen will. An dem Befehl konnte es damit nicht liegen.

    • Felix sagt:

      Sehr schön, freut mich, dass es klappt.
      Ein Tutorial, wie du die Konsolenbenachrichtigung ändern kannst (und gleichzeitig Skripte aufrufen, wenn das SSH Terminal geöffnet wird), findest du hier.

  3. Christoph sagt:

    Sehr schöne Erklärung! Ein dickes Lob! Funktioniert auch soweit wie beschrieben. Ich habe die Anleitung dazu genutzt ein C-Berry Display beim Systemstart automatisch einzuschalten. Dazu verweise ich beim Start-Befehl auf das fb2cberry Skript. Auch im Stop-Befehl habe ich killall fb2cberry referenziert. Leider habe ich dass Problem, dass ich beim Stop-Befehl gerne noch den TFT-Display abgeschalten hätte. Hierzu nutze ich momentan noch ein eigenes Skript, welches ich über das Terminal mit

    cd /home/tft_aus
    sudo ./tft_aus

    abschalte. Leider kann ich nicht innerhalb des Stop-Befehls direkt auf das Verzeichnis des /home/tft_aus verweisen irgendwie wird der Befehl ./tft_aus dann nicht ausgeführt. Hat jemand eine Idee?

  4. Christoph sagt:

    zudem wird das Display beim Systemstart erst sehr spät am nahe am Ende des Boot-Prozesses eingeschaltet. Gibt es eine Möglichkeit Programme im Autostart früher auszuführen?

  5. Nico sagt:

    Hey,

    ich habe leider auch den Fehler das ich das Programm per Skript wunderbar aufrufen kann, jedoch passiert nach neustart nichts.

  6. Nico sagt:

    Es handelt sich um ein selbst geschriebenes Programm.
    Wenn es ich das Skript über das Terminal mit „bash…..start“ starte, funktioniert es. Mit cron will es leider auch nicht, sofern ich alles richtig eingestellt habe.

  7. Hauschi sagt:

    Hi Felix,
    nochmals großes Lob für deine Tutorials!
    Könntest Du mir die angegebenen Werte in der INIT INFO erläutern?
    Nur so zur Erleuchtung eines Unwissenden.

    MfG Hauschi

  8. Björn sagt:

    herzlichen dank dür dieses tut
    das ganze hat nun meine frau angeregt die decke damit einmal rum zu verziehren nun kommen mir einige fragen auf

    gibt es ein max anzahl an leds zum ansteuern habe 20 meter umfang für die wohnstube
    wären ebenmal 640 leds ??
    denn drängt sich auch schon meine nächste frage auf is es denn mäglich das ganze mit Hyperion zu steuern, so wäre meine idee da ich ja nun den ganzen ambi quatsch weglassen würde und nur bund oder einfarbig machen würde

    schon mal ein grösses dank für die antwort
    wenn das alles klappen sollte setz ich mich drann mit meinen 0 kentnissen 🙂

  9. Stefan sagt:

    Hallo,

    ich starte wie hier beschrieben ein c-programm das auf Eingaben der Tastatur wartet.
    Mein Problem ist, dass dem Programm scheinbar kein Terminal zugeordnet ist.
    ps aux | grep zeigt das Programm, allerdings ist in der Spalte wo sonst tty1 steht ein Fragezeichen. Was mache ich falsch?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Blog abonnieren

Abonniere Tutorials-RaspberryPi, um kein Tutorial mehr zu verpassen!