我正在尝试使用 exec("firefox") 从 php 脚本启动 FireFox。如果我从终端运行 php 文件,此方法可以正常工作,但通过 cron 运行时则不起作用。cron 和终端的用户是 root。请提出一些解决方案。
答案1
您可以尝试使用 watch。watch -10 <YOUR COMMAND>
这将尝试在终端中每 10 秒执行一次您的命令。
答案2
创建一个脚本(和chmod +x
它):
#!/bin/bash
export DISPLAY=:0
firefox
运行crontab -e
并在底部添加:
* * * * * /path/to/my/script
..它会每分钟在用户的桌面上打开 Firefox。
你可能还想要一个功能,让它在一段时间后自动关闭,而不是增加打开的窗口或选项卡。我建议为 cron 创建单独的 FF 配置文件。运行firefox -P
并在那里创建一个新的配置文件。命名它...让我们说“cron”。然后使用这个脚本:
#!/bin/bash
export DISPLAY=:0
firefox -P cron &
sleep 30 # set here any amount of seconds you need
pkill -f "/usr/lib/firefox/firefox -P cron"
在我的环境中效果很好。
哦,您必须更新您每天的 FF 链接才能加载您的正常个人资料,例如像这样:firefox -P default
。