gpt4 book ai didi

python - PyNotify 不能从 cron 工作?

转载 作者:太空狗 更新时间:2023-10-30 02:50:11 24 4
gpt4 key购买 nike

我编写了一个使用 pynotify 发出警报的脚本。当我运行它时它工作得很好( python script.py ),但是当使用 00 * * * * myname python ~/scripts/script.py 从 cron 运行时,没用!我不知道为什么。这是片段:

        if os.path.isfile(os.path.expanduser('~/.thumbnails/normal')+'/'+thumbnail):
n = pynotify.Notification(video_file[0], 'finished download', os.path.expanduser('~/.thumbnails')+'/'+thumbnail)
else:
n = pynotify.Notification(video_file[0], 'finished download', '/usr/share/icons/gnome/48x48/mimetypes/gnome-mime-application-x-shockwave-flash.png')
print n
n.show()

将输出定向到 ~/log.file 给出:<pynotify.Notification object at 0x16d4e60 (NotifyNotification at 0x13804e0)>没有错误,所以我不太确定还可以去哪里找。

最佳答案

我对 cron 作业不是很了解,但我对 pynotify 了解一些。它使用 libnotify 和一些 DBUS 的东西,所以它在某个地方调用 DBUS 和 iirc,它还传递应该显示通知的显示 ID。

现在,默认情况下 cron 不适用于 GUI 应用程序,您必须指定一个显示供它们使用:

00 * * * * myname env DISPLAY=:0 python ~/scripts/script.py

这将使 cron 使用当前显示(桌面)。

如果您在 Ubuntu 上运行,您可能会对这个页面感兴趣:
https://help.ubuntu.com/community/CronHowto

关于python - PyNotify 不能从 cron 工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4281821/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com