如何运行python通过CRONTAB自动打开浏览器?

Hel*_*Cui 2 cron python-2.7

我一直在互联网上搜索,但没有找到我的问题的正确答案。\n这是我的详细问题:

\n\n

有 python 打开网络浏览器。我可以在终端上手动运行它,并且运行良好。

\n\n

但是当我将其放入 crontab 时,网络浏览器无法打开。这是我的 contab 命令:

\n\n
*/1 * * * *\xe3\x80\x80\xef\xbc\x8fusr/bin/python /home/pi/test.py 2>&1 >/dev/null | tee -a /home/pi/test.log\n
Run Code Online (Sandbox Code Playgroud)\n\n

请注意,这是一个显示问题。Python执行成功。

\n\n

我检查了 crontab 创建的日志,它说:

\n\n
\n

无法连接到 X 服务器

\n
\n\n

所以我尝试在我的 contab 中添加环境变量并将其更改为:

\n\n
*/1 * * * *\xe3\x80\x80export DISPLAY=:0.0 && \xef\xbc\x8fusr/bin/python /home/pi/test.py 2>&1 >/dev/null | tee -a /home/pi/test.log\n
Run Code Online (Sandbox Code Playgroud)\n\n

但它仍然不起作用。我在 crontab 中添加了一些其他内容,例如:

\n\n
/usr/bin/xhost +\n/usr/bin/ssh pi@localhost -X\n
Run Code Online (Sandbox Code Playgroud)\n\n

但这就是行不通!

\n\n

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

\n\n

此致\n海伦

\n

Hel*_*Cui 5

很兴奋,因为我解决了这个问题!我是这样实现的:

\n\n

我编写了一个 shell 脚本来运行 python 脚本。这是我的 shell 脚本(名为“shell.sh”):

\n\n
#\xef\xbc\x81/bin/bash \nxhost +local:root \nexport DISPLAY=:0.0\npython /home/pi/test.py\n
Run Code Online (Sandbox Code Playgroud)\n\n

这里我觉得xhost +local:root也可以换成xhost + localhost。如果你的用户是 root。

\n\n

这是我的 crontab 命令:

\n\n
 */1 * * * *\xe3\x80\x80\xef\xbc\x8fbin/bash /home/pi/shell.sh 2>&1 >/dev/null | tee -a /home/pi/shell.log\n
Run Code Online (Sandbox Code Playgroud)\n\n

现在完美运行了!!

\n\n

任何人和我有同样问题的人都可以看看这个链接:Cannot connect to X server :0.0 with a Qt application

\n