Autostart Raspberry Pi?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Crontab oder systemd wäre hier das was du nutzen kannst.

Crontab

Einfach in der CLI zum aufrufen der Crontab Datei

crontab -e

Eintragen und mit [Enter] bestätigen.

Er wird dich nun fragen welchen Editor du wählen willst, tue dir selbst einen Gefallen und nutze nano (VI ist für bspw hass)

Nun öffnet sich die crontab Datei, dort sollte auch schon was drinnen stehen. Dies ignorieren wir und tragen in der letzten Zeile

@reboot Befehl zum starten

Ein und betätigen erneut [Enter], denn die Datei muss mit einer Leerzeile abschließen.

Nun [Strg] + [O] zum speichern

[Strg] + [X] zum beenden.

Nun erfolgt eine Meldung das der Crontab erfolgreich installiert wurde.

Systemd

Dafür brauchen wir

  • Skript
  • Service
Skript

Dafür erstellst du ein Skript

sudo nano  /path/to/script.sh

Mit folgendem Inhalt

#!/bin/bash

Das was das Skript halt machen soll, oder eben der Befehl

Das Skript muss nun ausführenbar gemacht werden

sudo chmod -x  /path/to/script.sh

Ausprobieren ob dein Skript macht was es soll kannst du mit

sh  /path/to/script.sh
Service

Danach brauchen wir noch den Service der dieses Skript ausführt

sudo nano /lib/systemd/system/Name.service

Diese Datei muss folgenden inhalt haben

[Unit]
Description=was macht der Service

[Service]

ExecStart=/path/to/script.sh
Type=simple

[Install]
WantedBy=multi-user.target

Das Ganze denn speichern und

sudo chmod 644 /lib/systemd/system/Name.service 

Danach

sudo systemctl enable Name.service 
sudo systemctl start Name.service

Ob der Service Job läuft siehat du hier

sudo systemctl status Name.service

Wie du dir denken kannst habe ich natürlich ein paar Platzhalter verwendet

/path/to/script.sh >>> das wäre dort wo du deine Skripte speichern willst und halt auch den Namen dafür verwenden

Name.service >>> hier ist Name der Platzhalter und kann von dir relativ frei gewählt werden (sofern der Name noch frei ist)

Das das Ganze über das Terminal einzugeben ist, erklärt sich hoffentlich selbst.

grrrml  28.10.2023, 14:11

Kleine Anmerkung, bei @reboot im crontab hilft im Fehlerfall manchmal ein delay, zB sleep 60, vor der eigentlichen Ausführung. Wenn das nicht reicht geh ich direkt auf systemd.

Schöne Anleitung im Übrigen!

2
anTTraXX  28.10.2023, 14:15
@grrrml

Danke, viele Anleitungen sind leider echt für Idioten (so wie ich einer bin) oftmals nichts zu gebrauchen und ich finde man sollte immer davon ausgehen das jemand wirklich null Ahnung hat (so wie zu meiner Zeit damals 😁)

Stimmt der delay der ist wiederum echt sinnvoll (weil ich den früher vergessen habe, habe ich mir systemd angeschaut)

2

Vor Anmeldung als service (systemd) oder per crontab mit @reboot

Wenn erst nach Anmeldung kommt es auf das frontend an

gamerjon 
Fragesteller
 22.10.2023, 08:35

Ok, danke für fie Antwort schonmal. Wie genau trage ich das jetzt ein?

0