Autostart Python-Skript im Terminal für Nutzereingaben

  • Hallo Raspberry Pi Freunde,

    ich habe ein kleines Python-Programm geschrieben, das über "raw-input" auf Nutzereingaben wartet.

    Ich möchte folgendes machen:

    Wenn der Raspberry Pi startet soll sich das Terminal öffnen, mein Python-Skript ausgeführt werden und so auf Nutzereingaben reagieren können.

    Ich habe schon sehr viele Foren durchsucht und einiges ausprobiert, aber bislang ohne Erfolg.

    Ich habe es bisher probiert mit:

    Code
    crontab -e

    und anschließend:

    Code
    @reboot lxterminal -e "python2 /home/pi/Desktop/python.py"

    ==> kein Erfolg

    Und ich habe es über die Variante:

    Code
    sudo nano /home/pi/.config/autostart/programmname.desktop

    und darin eingefügt:

    Code
    [Desktop Entry]
    Name=programmname
    Exec=python2 /home/pi/Desktop/python.py
    Type=Application
    Terminal=True

    ==> ohne Erfolg

    Vielleicht wäre es auch möglich nur das Python-Skript zu starten, darin das Terminal aufzurufen, sodass darin anschließend Nutzereingaben an "raw-input" übergeben werden können?

    Ich hoffe, ihr habt alles verstanden und vielen Dank für eure Hilfe!

    Christian

  • Autostart Python-Skript im Terminal für Nutzereingaben? Schau mal ob du hier fündig wirst!

  • Dh du startest die Desktop Oberfläche automatisch und möchtest das sich dort ein Terminal öffnet?
    Dann ist crontab definitiv der falsche Weg, denn wie kontrollierst du denn über crontab zu welchem Zeitpunkt der Eintrag ausgeführt wird? ;) crontab wird viel früher und unabhängig der Desktopumgebung oder allgemein eines anderen Programms ausgeführt.

    Dein 2.Versuch mithilfe der Autostart von explizit dem Desktop und einem Benutzer, sollte eigentlich funktionieren, wenn du den auszuführenden Befehl denn genau so wie beim 1.Versuch gemacht hättest: Erst explizit das Terminal Programm starten und darin dann etwas ausführen. Wieso aber hast du den auszuführenden Befehl dann abgewandelt? Ändert man zu viel auf ein mal weiß man später nicht worans liegt :fies:
    Dh dort wird es erst ausgeführt wenn die Desktop Oberfläche (LXDE) startet und der Benutzer "pi" angemeldet wird... Also eigentlich der richtige Zeitpunkt. Nur der auszuführende Befehl muss passen ;)

  • Vielen Dank, es funktioniert! =)

    Ich dachte, das Terminal wird durch Terminal=True aufgerufen, wodurch ich es nicht mehr an der Stelle tun muss.

    Für alle anderen, die es Interessiert was ich gemacht habe:

    1. Ordner Autostart erstellen:

    Code
    cd /home/pi/.config
    
    
    mkdir autostart

    2. In dem Ordner eine .desktop Datei erstellen:

    Code
    sudo nano /home/pi/.config/autostart/programmname.desktop


    3.Folgendes in die Datei einfügen

    Code
    [Desktop Entry]
    Name=programmname
    Exec=lxterminal -e "python2 /home/pi/Desktop/python.py"
    Type=Application
    Terminal=True
    StartupNotify=true

    Wenn der Raspi neustartet öffnet sich das Terminal und wartet auf meine Benutzereingaben!

    :danke_ATDE: :danke_ATDE: :danke_ATDE: :danke_ATDE: :danke_ATDE: :danke_ATDE:


  • 1. Ordner Autostart erstellen:

    Code
    cd /home/pi/.config
    
    
    mkdir autostart

    2. In dem Ordner eine .desktop Datei erstellen:

    Code
    sudo nano /home/pi/.config/autostart/programmname.desktop

    Das "sudo" ist hier eigentlich fehl am Platz, denn dadurch wird der nano Befehl als root ausgeführt und die Datei gehört dann "root", nicht "pi" welcher die Datei dann auch nicht mehr bearbeiten/verändern dürfte.

Jetzt mitmachen!

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