Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.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
运行使用crontab打开窗口的python脚本_Python_Crontab_Raspberry Pi2 - Fatal编程技术网

运行使用crontab打开窗口的python脚本

运行使用crontab打开窗口的python脚本,python,crontab,raspberry-pi2,Python,Crontab,Raspberry Pi2,我是python和crontab的新手,所以我不知道如何完成这项任务。 这是我朋友的节目。这是一个倒计时钟,从5分钟开始倒计时到零。我拿出许多纸条来缩小尺寸 try: # Python2 import Tkinter as tk except ImportError: # Python3 import tkinter as tk import time def count_down(): for t in range(298, -1, -1):

我是python和crontab的新手,所以我不知道如何完成这项任务。 这是我朋友的节目。这是一个倒计时钟,从5分钟开始倒计时到零。我拿出许多纸条来缩小尺寸

try:
    # Python2
    import Tkinter as tk
except ImportError:
    # Python3
    import tkinter as tk
import time
def count_down():
    for t in range(298, -1, -1):
        sf = "{t:01d}:{:02d}".format(*divmod(t,60))
        #print(sf) # test
        time_str.set(sf)
        root.update()
        time.sleep(1)
root = tk.Tk()
time_str = tk.StringVar()
label_font = ('helvetica'), 535)
tk.Label(root, textvariable=time_str, font=label_font, bg='mediumblue', 
    fg='white', relief='raised', bd=3).pack(fill='x', padx=5, pady=5)
for t in range (297, -1, -1):
    sf = "{01d:}{:02d}".format(*divmod(t, 60))
    time_str.set(sf)
    root.update()
    time.sleep(.958)
root.mainloop()
现在,问题在于crontab。我创建了一个crontab,它是

* * * * * /home/pi/Desktop/clock/5minute.py

5个星号用于测试目的。它应该在以后的特定时间运行。程序本身已经设置了777个权限。我尝试过使用参数运行crontab,比如
export DISPLAY=:0&
,但没有任何效果。我还在学习,所以任何帮助都将被感激

将crontab设置从当前更改为此,这样就可以了

* * * * * /usr/bin/python /home/pi/Desktop/clock/5minute.py

在这里,您没有提到python路径,这可能是您在使用它时遇到困难的原因。

您是否使用crontab中的python/home/pi/Desktop/clock/5minute.py调用上述内容?无论您试图解决哪个问题,
chmod 777
都是错误和危险的——您应该恢复到正常权限(请注意,禁用世界写入权限)在您执行任何其他操作之前。
cron
无权访问您的X会话。即使在
DISPLAY=:0
上有一个X会话,您的
cron
守护进程也没有简单的方法与之交互;也不应该这样做。您应该在自己的
.xsession
或类似程序中运行某些操作。这是常见问题解答。@toastez目录引用了提到的script@tripleee我已经修改了权限。你能告诉我有关X会话的更多信息吗?谢谢。你设置好时间了吗。试试*/2****/usr/bin/python/home/pi/Desktop/clock/5minute.py这将在2分钟后按设置的时间开始,你的意思是我应该再次将时间设置为我的时区吗'我会尽快尝试。谢谢。我要求您在2分钟后设置cron任务来测试这段代码。您可以通过转到/var/log/syslog来监视cron任务是否工作。检查syslog后,它会运行命令。输出将转到Dec 7 11:09:01/USR/SBIN/cron[2305]:(pi)CMD(/usr/bin/python/home/pi/Desktop/clock/5mintute.py在那一行之后,是(CRON)信息(没有安装MTA,丢弃输出)。我认为它只是不获取输出并使用它,但是因为没有安装任何东西,所以它不会工作。