Autostart eines Python Script

  • Hi Leute


    Ich bin komplett neu beim Raspberry Pi und im gesamten auch bisher wenig in der Linux-Welt unterwegs gewesen. Ich habe auch einen Raspberry Pi und meine Anwendung ist die Auswertung von Daten welche mit einem einfachen Handscanner erfasst wurden. Im Hintergrund verarbeite ich die Daten dann auch in einer Datenbank.


    Dazu habe ich einen Raspberry Pi ohne Maus, Tastatur und Bildschirm. Bisher habe ich nur LEDs für Signale, später werden da wenn das was taugt Relais mit entsprechenden Signallampen zum Einsatz kommen. Hoch und Herunterfahren löse ich über Buttons, welche ja auch an die GPIO-Ports anspreche. Für einen Reset werde ich noch die Pins für RUN auflöten und mit einem Button versehen. Um sicher zu sein, dass das Skript auch läuft, habe ich einen Thread, welcher eine LED blinken lässt. Das Gerät hat wie gesagt keinen Monitor.


    Nun aber zu meiner Lösung für mein erstes kleines Testprojekt:
    -Ich habe mein Skript in der Datei /home/pi/.bashrc eingefügt und prüfe, ob eine Anmeldung in tty1 stattfindet. Falls ja, startet das Skript.
    -Der Benutzer pi meldet sich automatisch an, aber nicht in der GUI sondern in der CLI
    -Das Skript läuft in einer Endlosschleife und lässt sich nur über einen mir bekannten Befehl beenden. STRG+C als KeyboardInterrupt-Exceptioon habe ich abgefangen und behandle ich auch falls jemand meint einfach ne Tastatur anstecken zu können.
    -Steuerung nur über die angesprochenen Buttons


    Funktionieren tut alles, aber bekanntlich muss es deswegen ja nicht gut sein. Die Frage: Was haltet ihr von dieser Lösung? Gibts eventuell was besseres um das Skript gleich starten zu können? Eingaben über einen Scanner müssen möglich sein.

  • Hi,


    muss den ein User angemeldet werden? Ist das nur damit der Handscanner funktioniert?


    Du könntest versuchen das Script einfach über Crontab zu starten.

    Code
    @reboot /pfad/zum/script.py


    https://wiki.ubuntuusers.de/Cron/


    Am besten noch den Shebang in die erste Zeile deines Scripts, falls dieser fehlt. :)

    Python
    #!/usr/bin/python


    Gruß