Problem mit Autostart durch systemd

  • Hallo,

    ich weiss, dies Thema ist in verschiedenen Foren schon oft durchgekaut. Es hat mir leider nicht weitergeholfen, oft sitzt das größte Problem vor dem Monitor.

    Zum Problem, ich habe ein Script mit dem Betriebssystem Jessie (Desktop Datei und Autostart-Ordner) laufen. Ich habe Probleme damit, es unter Stretch auf einem anderen Raspberry 3+ zum Laufen zu bringen. Ich versuche es schon seit Tagen mit systemd.

    Also:

    wetter.service Datei geschrieben:

    [Unit]

    Description=Wetterdaten Service

    After=multi-user.target

    [Service]

    Type=idle

    ExecStart=/bin/bash /home/pi/wetter/Wetterdatei_start.sh &

    [Install]

    WantedBy=graphical.target

    Mit chmod ausführbar gemacht, enabled und gestarted:

    Fehlermeldung über systemctl status:

    wetterdaten.service - Wetterdaten Service

    Loaded: loaded (/etc/systemd/system/wetterdaten.service; enabled; vendor pres

    Active: failed (Result: exit-code) since Wed 2018-11-07 11:15:01 CET; 11min a

    Process: 2400 ExecStart=/bin/bash /home/pi/wetter/Wetterdatei_start.sh & (code

    Main PID: 2400 (code=exited, status=1/FAILURE)

    Nov 07 11:14:51 raspberrypi systemd[1]: Started Wetterdaten Service.

    Nov 07 11:15:01 raspberrypi lxterminal[2405]: cannot open display:

    Nov 07 11:15:01 raspberrypi lxterminal[2406]: cannot open display:

    Nov 07 11:15:01 raspberrypi systemd[1]: wetterdaten.service: Main process exited

    Nov 07 11:15:01 raspberrypi systemd[1]: wetterdaten.service: Unit entered failed

    Nov 07 11:15:01 raspberrypi systemd[1]: wetterdaten.service: Failed with result

    Das zu startende Script "Wetterdatei_start.sh" lässt sich im Terminal starten, es ruft zwei Python-Programme auf.

    Gelesen habe ich, dass es oft zu Problemen kommt, wenn ein Terminal geöffnet werden soll. Eine Lösung dazu habe ich leider nicht gefunden.

    Über Tipps und Hinweise freue ich mich. Ich hoffe, ich habe alle erforderlichen Angaben gemacht. Es ist mein erster Auftritt hier.

  • Falscher Ansatz. systemd startet als init-system die beim Start des Rechners benötigten Dienste und Services ohne Bildschirmausgaben. Für den Start eines Programms, was eigentlich im Userspace NACH der Anmeldung des Users mit Bildschirmausgaben laufen soll, ist es nicht geeignet... und es ist auch nicht seine Aufgabe, das zu tun.

    Wenn Pixel installiert ist, gibt es vermutlich einen Autostartordner für openbox.... da wäre der korrekte Ansatz zu suchen.

  • Hallo hyle,

    genauso habe ich das Skript unter Jessie gestartet. Wenn ich die Änderungen bei Stretch richtig verstanden habe, wird diese Autostart-Methode nicht mehr unterstützt. Oder habe ich das falsch gelesen?

    Hallo ThomasL,

    Pixel und OpenBox kenne ich nicht, muss ich mich schlaumachen. Danke für den Tipp.

  • Ich bedanke mich herzlich für den Hinweis, dass Autostart im .config-Ordner auch bei Stretch funktioniert.

    Die erforderlichen Dateien habe in von der Jessie-SD-Karte auf die Stretch-SD-Karte kopiert. Nach chmod-Änderung funktioniert alles.

    Was lerne ich daraus: nicht alles glauben was man liest (Autostart geht nicht in Stretch), und was man mit systemd nicht machen kann.

    Herzlichen Dank an hyle und mark-aus-51

  • Noch ne Möglichkeit ohne .Desktop Datei bietet die Textdatei "autostart".

    Bsp.:

    Das Shellskript "/home/pi/runme.sh" nach dem Einloggen in LXDE automatisch starten:

    In der Datei:

    /home/pi/.config/lxsession/LXDE-pi/autostart

    Folgendes anfügen:

    @/home/pi/runme.sh

    "Volt, Watt, Ampere, Ohm, ohne mich gibts keinen Strom"

    Der Elektrolurch (Guru Guru)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!