我有一个 shell 脚本,可以打开 Firefox 并在其中启动宏(我使用名为 Imacros 的 Firefox 插件来创建宏)。我的shell脚本的内容house.sh
是这样的:
firefox imacros://run/?m=house.iim
我创建了一个计划作业,crontab -e
每天每小时运行该脚本:
47 * * * * /home/meerim/bin/house.sh
但什么也没发生(Firefox 没有打开)。然后我尝试了这个:
47 * * * * env DISPLAY=:0.0 /home/meerim/bin/house.sh
但这并没有解决问题。
那么我应该如何修复它呢?当我从终端运行我
的脚本时,它可以正常工作。house.sh
答案1
您应该能够通过输入以下命令来运行它house.sh
:
export DISPLAY=:0.0
xhost +
并在您的界面上运行。一旦有效,您可以限制允许连接的人(xhost
再次使用),但是一旦事情停止工作,您就会知道您必须有多宽容。
如果你没有登录,这将不起作用。我从一个以 crontab 启动的 python 脚本运行 firefox,实际的界面在 Xvnc 屏幕中打开,无论我是否登录(并且它不会破坏我的 UI)一旦开始运行)。