从 crontab 运行 python 脚本

2023-12-06

我有一个通过 crontab 运行的 python 程序,并且运行良好。然而,我决定添加通知我它正在做什么的功能,但它突然失败了。它从命令行运行,但是,将其作为 crontab 程序运行会导致它失败

libnotify-Message: Unable to get session bus: /bin/dbus-launch terminated abnormally with the following error: Autolaunch error: X11 initialization failed.

我究竟做错了什么?

Edit我希望这个程序仍然从 cron 运行,并且能够利用通知用户它的工作。有什么办法可以做到这一点吗?

Edit 2我尝试过使用 root 的 crontab 和sudo -u esr python script.py但这也失败了,只是默默地失败了。

Edit 3有可能的!这是代码。

* * * * * su $user -c "DBUS_SESSION_BUS_ADDRESS=$(grep -z DBUS_SESSION_BUS_ADDRESS /proc/$(ps -au esr | grep -i "gnome-session" | awk '{ print $1 }')/environ | sed -e 's/DBUS_SESSION_BUS_ADDRESS=//') $(whereis notify-send | awk '{ print $2 }') -u normal -t 20000 \"Hello\" "

* * * * * su esr -c "DBUS_SESSION_BUS_ADDRESS=$(grep -z DBUS_SESSION_BUS_ADDRESS /proc/$(ps -au esr | grep -i "gnome-session" | awk '{ print $1 }')/environ | sed -e 's/DBUS_SESSION_BUS_ADDRESS=//') $(whereis notify-send | awk '{ print $2 }') -u normal -t 20000 \"Hello\" "

根据建议,一个解释,不幸的是不是我的

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 crontab 运行 python 脚本 的相关文章

随机推荐