如何运行python自动通过CRONTAB打开浏览器?
Posted
技术标签:
【中文标题】如何运行python自动通过CRONTAB打开浏览器?【英文标题】:How do I run python to open a browser through CRONTAB automatically? 【发布时间】:2017-07-25 02:39:20 【问题描述】:我一直在互联网上搜索,但没有找到我的问题的正确答案。 这是我的详细问题:
有python打开网络浏览器。我可以在终端上手动运行它,效果很好。
但是当我把它放到 crontab 中时,网页浏览器无法打开。这是我的 contab 命令:
*/1 * * * * /usr/bin/python /home/pi/test.py 2>&1 >/dev/null | tee -a /home/pi/test.log
请注意这是一个显示问题。 Python 执行成功。
我检查了 crontab 创建的日志,它说:
无法连接到 X 服务器
所以我尝试在我的 contab 中添加环境变量并将其更改为:
*/1 * * * * export DISPLAY=:0.0 && /usr/bin/python /home/pi/test.py 2>&1 >/dev/null | tee -a /home/pi/test.log
还是不行。我在 crontab 中添加了一些其他内容,例如:
/usr/bin/xhost +
/usr/bin/ssh pi@localhost -X
但它就是行不通!
现在我不知道该怎么办。谁能告诉我它有什么问题以及如何解决它?非常感谢!
真诚地, 海伦
【问题讨论】:
如果您解决了您的问题,为什么不将您的答案添加到答案列表中而不是编辑您的问题? 哦,我明白了。谢谢您的建议。 @约翰菲利普 【参考方案1】:很兴奋,因为我解决了这个问题!我是这样实现的:
我编写了一个 shell 脚本来运行 python 脚本。这是我的 shell 脚本(名为“shell.sh”):
#!/bin/bash
xhost +local:root
export DISPLAY=:0.0
python /home/pi/test.py
这里我觉得xhost +local:root 也可以换成xhost + localhost。如果您的用户是 root。
这是我的 crontab 命令:
*/1 * * * * /bin/bash /home/pi/shell.sh 2>&1 >/dev/null | tee -a /home/pi/shell.log
现在完美运行了!!
任何和我有同样问题的人可以看看这个链接:Cannot connect to X server :0.0 with a Qt application
【讨论】:
以上是关于如何运行python自动通过CRONTAB打开浏览器?的主要内容,如果未能解决你的问题,请参考以下文章
如何让python 脚本在指定的时间内运行,如在10点,让一个python脚本自动跑