【问题标题】:Can't make a cron Python script which uses Tkinter无法制作使用 Tkinter 的 cron Python 脚本
【发布时间】:2022-07-04 15:54:17
【问题描述】:

我在 Python 中制作了一个简单的脚本(只是为了测试),它只是制作了一个 void tkinter 窗口

import tkinter as tk

root = tk.Tk()
root.mainloop()

如果我在我的终端上写python3 kinter.py,那一切正常,没有问题。

问题来了,我把同一个文件放在我的crontab -e 中,如下所示:

* * * * * /usr/bin/python3 /home/francisco/Desktop/fcoterroba/personalProjects/myShit/kinter.py

这不显示任何内容。如果我阅读 cron 日志:

Jun 15 16:44:01 mypc_fcoterroba CRON[125245]: (fcoterroba) CMD (/usr/bin/python3 /home/francisco/Desktop/fcoterroba/personalProjects/myShit/kinter.py)

你知道我能做什么吗?

顺便说一句:我使用的是 Ubuntu 20.04 LTS

【问题讨论】:

  • 为什么要使用 cron 创建 Tk 窗口?
  • @ScottHunter 这个例子很简单,但我真正想做的是使用一个 Tk 窗口来通知用户刚刚发生了一个动作
  • Cron 作业不在终端中运行,因此它们不能使用依赖于用户交互的库。

标签: python python-3.x ubuntu cron


【解决方案1】:

自动回答

如果您想使用 TKinter 或任何其他 GUI Python 库,您应该指定要显示它的显示位置(通常为 0.0)。 所以,在我的情况下,我应该把它放在 cronjob 中:

env DISPLAY=:0.0 /usr/bin/python3 /home/francisco/Desktop/fcoterroba/personalProjects/myShit/kinter.py

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多