不能运行 crontab 不执行程序一次
Can't run crontab without excecuting the programm once
我写了一个 script.py
应该在树莓上打开一个 Tkinter
window:
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()
我能够从命令行 运行 脚本:
python /home/pi/script.py
当我首先尝试通过 crontab
运行 时,找不到显示。我用以下方法解决了这个问题:
DISPLAY=:0 python /home/pi/script.py
但现在我收到以下错误:_tkinter.TclError: couldn't connect to display ":0"
直到我在 cmd 中手动执行 script.py
一次。然后 crontab
能够执行 script.py
而不会出现该错误。我该如何解决?
终于解决了我的问题。一切都很好,但我使用的是 root crontab
。 root crontab
无法找到显示,之前显示不是 mentioned/used 另一个命令。我将我的 cronjobs
转移到 "normal" crontab
并且一切正常。
另一点是,如果您启动需要显示的命令(例如 Tkinter),它们将不起作用 @reboot
。您必须在脚本中实现一些休眠时间(~30 秒),以便显示器有时间可用。
import time
time.sleep(30)
...
我写了一个 script.py
应该在树莓上打开一个 Tkinter
window:
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()
我能够从命令行 运行 脚本:
python /home/pi/script.py
当我首先尝试通过 crontab
运行 时,找不到显示。我用以下方法解决了这个问题:
DISPLAY=:0 python /home/pi/script.py
但现在我收到以下错误:_tkinter.TclError: couldn't connect to display ":0"
直到我在 cmd 中手动执行 script.py
一次。然后 crontab
能够执行 script.py
而不会出现该错误。我该如何解决?
终于解决了我的问题。一切都很好,但我使用的是 root crontab
。 root crontab
无法找到显示,之前显示不是 mentioned/used 另一个命令。我将我的 cronjobs
转移到 "normal" crontab
并且一切正常。
另一点是,如果您启动需要显示的命令(例如 Tkinter),它们将不起作用 @reboot
。您必须在脚本中实现一些休眠时间(~30 秒),以便显示器有时间可用。
import time
time.sleep(30)
...