简
我是raspberry-pi的初学者,目前正在开发一个项目,它需要在启动时运行python脚本。
脚本的一部分将检查某些条件,然后在必要时打开chrome-browser(使用subprocess.Popen())。
码
下面是我的python脚本的简短摘录(睡眠是我检查脚本是否正在运行):
import shlex, subprocess
import time
command = '/usr/bin/chromium-browser "https://www.google.com" -start-maximized --no-sandbox'
args = shlex.split(command)
browser = subprocess.Popen(args)
time.sleep(1000)
当我从终端:
运行时,代码似乎正确执行python /home/pi/Desktop/test_popen_browser.py
但是,当我尝试在crontab上安排它(使用终端使用" sudo crontab -e "命令编辑)时,它似乎不起作用(正在执行python脚本,但没有打开浏览器窗口):
@reboot python /home/pi/Desktop/test_popen_browser.py &
问题
尝试在线搜索答案,我认为环境变量导致了问题。但我不知道究竟应该将环境变量设置为什么。
有谁知道问题出在哪里?
先谢谢你了!
答案 0 :(得分:1)
问题是在重启时启动脚本时GUI管理器尚未启动。而不是像cronjob一样运行脚本将它放在/home/pi/.config/lxsession/LXDE-pi/autostart
中@lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi
@xscreensaver -no-splash
@point-rpi
/usr/bin/python /home/pi/Desktop/test_popen_browser.py
unclutter -idle 30
祝你好运!