2016-08-29 18 views
1

ich ein script.py schrieb, die ein Tkinter Fenster auf einer Himbeere öffnen sollte:Kann nicht crontab führen Sie das Programm ohne excecuting einmal

from Tkinter import * 
import turtle 
import math 
import time 
import sys 
import os 

root = Tk() 
root.config(cursor="none") 
ccanvas = Canvas(root, width = 800, height = 480) 
root.overrideredirect(1) 
turtle_screen = turtle.TurtleScreen(ccanvas) 
ccanvas.pack() 
turtle = turtle.RawTurtle(turtle_screen) 
turtle.hideturtle() 
mainloop() 

ich in der Lage bin führen Sie das Skript von der Kommandozeile mit:

python /home/pi/script.py 

Als ich versucht habe, es über crontab zuerst das Display wurde nicht gefunden. Ich reparierte, dass mit:

DISPLAY=:0 python /home/pi/script.py 

Aber jetzt habe ich die folgende Fehlermeldung erhalten: _tkinter.TclError: couldn't connect to display ":0", bis ich die script.py einmal manuell in der cmd ausführen. Dann kann die crontab die script.py ohne diesen Fehler ausführen. Wie kann ich das beheben?

+0

Ohne weitere Details auf Ihrem X-Setup auf einer Himbeere wird es schwer für uns zu beantworten. Wird der x-Server bereits ausgeführt? Arbeiten andere x11 Anwendungen (wie xterm) mit dem Cronjob? – metatoaster

+0

Ich bin ein Anfänger und nicht wirklich sicher, ob das was du wissen willst: Ich führe 'xhost local: root'. Der x-Server sollte laufen, ich habe eine grafische Oberfläche/einen Desktop. – Kazulka

Antwort

0

Endlich löste mein Problem. Alles war in Ordnung, aber ich benutzte die root crontab. Die root crontab konnte die Anzeige nicht finden, bevor die Anzeige von einem anderen Befehl nicht erwähnt/verwendet wurde. Ich habe meine cronjobs auf die "normale" crontab übertragen und alles funktioniert gut. Ein weiterer Punkt ist, dass Befehle, die die Anzeige benötigen (zum Beispiel Tkinter) nicht funktionieren, wenn Sie sie @reboot starten. Sie müssen in Ihrem Skript eine gewisse Ruhezeit (~ 30 Sekunden) implementieren, damit die Anzeige verfügbar wird.

import time 

time.sleep(30) 

... 
Verwandte Themen