das Kommando heißt sudo nano /etc/rc.local
ohne Leerzeichen zwischen /etc und /rc.local
das Kommando heißt sudo nano /etc/rc.local
ohne Leerzeichen zwischen /etc und /rc.local
Python Program im Autostart hinzufügen? Schau mal ob du hier fündig wirst!
Hi,
wie wäre es, mal die Forensuche zu benutzen?
Das haben verschiedene Helfer hier schon x-mal erklärt, und vielleicht sollte man das mal wertschätzen und deren Beiträge auch lesen.
cu,
-ds-
Bitte auch dein Python Skript herzeigen^^
Hallo,
... und such' mal nach "systemd service unit", das ist der aktuelle Weg, um so was zu starten. der Weg über rc.local ist alt / veraltet.
Gruß, noisefloor
Hi,
wie wäre es, mal die Forensuche zu benutzen?
Das haben verschiedene Helfer hier schon x-mal erklärt, und vielleicht sollte man das mal wertschätzen und deren Beiträge auch lesen.
cu,
-ds-
Hallo Dreamshader,
ich habe bereits in der Forensuche danach geschaut. Habe verschiedene Methoden angewendet jedoch ohne Erfolg
Gruß
Max
Habe verschiedene Methoden angewendet jedoch ohne Erfolg
Welche?
Wo scheiterte es?
Welche Fehlermeldungen?
Welche würdest du gern umsetzen? rc.local würde ich nicht nehmen, eher crontab oder systemd Unit
Poste mal dein Python Programm!
Ich hab oft Probleme gehabt, wenn ich auf irgendwelche devices oder Files Zugegriffen habe, und der Ausführende user dafür keien Berechtigungen hat. vielleicht liegt da irgendwo das Problem.
Startet das Script denn manuell ?
Wenn nicht:
Du solltest absolute Pfade benutzen, die Ausgabe von ls /home/pi/Templates/QT -l und dein Script zeigen.
Dann probiers im Script mal mit #!/usr/bin/python2 in der ersten Zeile für Python2.x bzw. #!/usr/bin/python3 für Python3-Scripte und
in der rc.local /bin/sleep 5 && /usr/bin/python2 /home/pi/Templates/QT/smartCD.py für Python2.x bzw. /bin/sleep 5 && /usr/bin/python3 /home/pi/Templates/QT/smartCD.py für Python3.
P.S. Läuft das Script jetzt manuell, oder nicht ?
Wenn nicht siehe oben #10 bis auf den letzten Teil.
Also bei mir fangen alle Dateien mit folgenden Zeilen an:
Verihindert Fehler
und bring deinen Code doch mal bitte ein wenig in Form wenn du ihn postest! Einrücken am besten mit tabulatoren nicht mit Leerzichen, das gibt mehr Übersicht.
und deine Datei globaleVariable.py wäre auch noch hilfreich.
Du programmierst generell sehr unstrukturiert... Aber das ist ein anderes Thema
Hallo,
über systemd solltest du das Skript schon mal nicht starten, weil dann beim Start des Skripts ggf. der XServer noch nicht läuft und damit Tkinter nicht läuft.
Stilistisch ist das Skript auch... na ja, stark verbesserungsbedürftig. Mal die vier Hauptpunkte:
Und beim nächsten mal bitte darauf achten, dass der Code nicht die ganzen überflüssigen Leerzeilen hat. Das stört - außer fehlender PEP8 Konfirmität, enorm beim Lesen, weil man nur mit Scrollen beschäftigt ist.
Gruß, noisefloor
Einrücken am besten mit tabulatoren nicht mit Leerzichen
Ganz im Gegenteil! Einrückungen pro Ebene sollten immer 4 Leerzeichen sein.
über systemd solltest du das Skript schon mal nicht starten, weil dann beim Start des Skripts ggf. der XServer noch nicht läuft und damit Tkinter nicht läuft.
Das stimmt! Wenn du es dennoch mit systemd machen willst, gäbe es die Option nicht die Python Datei auszuführen, sondern eine bash Datei auszuführen und in dieser den Befehl für die Python Datei hinterlegen, dann kannst du nämlich davon noch ne 60 Sekunden sleep Funktion oder so packen, damit der Pi Zeit hat den XServer zu startet.
Oder du fragst ab ob der Dienst läuft und startest das Programm nur falls ja. (Wäre eleganter)
Keine *-Importe, weil du dir damit unkontrolliert den globalen Namensraum zu müllst
*-importe kann man schon benutzen, so ist das nicht. Aber mit Vorsicht zu genießen!! Solange du nur einen *-import hast, passiert dir eigentlich nichts, sobald du mehrere hast kann das natürlich zu Fehlen führen! wie noisefloor schon gesagt hat: du müllst damit den globalen namensraum zu und ggf. belegst du den ein oder anderen Namen dann doppelt...
weil dann beim Start des Skripts ggf. der XServer noch nicht läuft und damit Tkinter nicht läuft.
Besitzt denn der XServer keine eigene Service Unit, womit man dann das eigene Skript und dem des XServers mit Requires in Abhängigkeit stellen kann?
Servus,
Kannst du das Fenster schließen? Und kommst du dann ganz normal auf deinen Desktop?
Wenn ja öffnet es wahrscheinlich einfach nur im Vollbild modus
Wenn Du mit Oberfläche des RPi den Desktop meinen solltest, dann starte Dein Skript mit einer .desktop-Datei.
Wenn Du mit Oberfläche des RPi den Desktop meinen solltest, dann starte Dein Skript mit einer .desktop-Datei.
Ich schätze mal mit Oberfläche ist die Tkinter Oberfläche gemeint, die durch starten der .py Datei ja eigentlich auf gehen sollte, aber sicher bin ich mir da nicht...
Hallo,
ZitatSolange du nur einen *-import hast, passiert dir eigentlich nichts
Das ist Quatsch, es kommt wenn drauf an, _was_ du im importiert:
Du holst dir alleine nur mit tkinter 136 Namen in den globalen Namensraum.
Gruß, noisefloor
Ganz im Gegenteil! Einrückungen pro Ebene sollten immer 4 Leerzeichen sein.
Geht auch ja! Aber ich arbeite lieber mit Tabulatoren.
Da ich allerdings alle Programme im nano-Editor schreibe, habe ich kein Problem damit, dass tabs und spaces hin und her konvertiert werden... wenn man Dateien hin und her kopiert und mal mit nano, mal mit dem npp und mal über die python shell bearbeitet, dann sollte man auf jeden Fall mit spaces arbeiten!
(aber nicht mit nur einem, da braucht man ja ne Lupe um struktur zu erkennen )
Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!