【问题标题】:How do I run python to open a browser through CRONTAB automatically?如何运行python自动通过CRONTAB打开浏览器?
【发布时间】: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

但它就是行不通!

现在我不知道该怎么办。谁能告诉我它有什么问题以及如何解决它?非常感谢!

真诚地, 海伦

【问题讨论】:

  • 如果您解决了您的问题,为什么不将您的答案添加到答案列表中而不是编辑您的问题?
  • 哦,我明白了。谢谢您的建议。 @约翰菲利普

标签: python-2.7 cron


【解决方案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

【讨论】:

    猜你喜欢
    • 2017-02-05
    • 1970-01-01
    • 2011-06-27
    • 2017-03-02
    • 2019-04-12
    • 1970-01-01
    • 1970-01-01
    • 2017-04-04
    • 2019-07-02
    相关资源
    最近更新 更多