Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Can';t在不执行一次程序的情况下运行crontab_Python_Tkinter_Crontab_Raspberry Pi3 - Fatal编程技术网

Python Can';t在不执行一次程序的情况下运行crontab

Python Can';t在不执行一次程序的情况下运行crontab,python,tkinter,crontab,raspberry-pi3,Python,Tkinter,Crontab,Raspberry Pi3,我写了一个script.py,它应该在树莓上打开一个Tkinter窗口: 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 =

我写了一个
script.py
,它应该在树莓上打开一个
Tkinter
窗口:

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

但是现在我得到了以下错误:
\u tkinter.TclError:无法连接到显示:0“
,直到我在cmd中执行
script.py
一次手动。然后
crontab
能够执行
script.py
,而不会出现该错误。我如何解决这个问题?

终于解决了我的问题。一切都很好,但我使用的是
根crontab
根crontab
在其他命令未提及/使用该显示之前,无法找到该显示。我将我的
cronjobs
转移到了“正常的”
crontab
,一切正常。 另一点是,如果启动需要显示的命令
@reboot
,这些命令将无法工作。您必须在脚本中实现一些睡眠时间(约30秒),以便显示有时间可用

import time

time.sleep(30)

...

如果没有更多关于树莓上X设置的详细信息,我们将很难回答。x服务器是否已在运行?其他x11应用程序(如xterm)是否与cronjob一起工作?我是一个初学者,不确定这是否是您想要知道的:我运行
xhost-local:root
。x服务器应该正在运行,我有一个通用的界面/桌面。