我试图运行一个涉及打开图形程序的cron,因此需要一个DISPLAY集。我尝试过以下方法:
* * * * * DISPLAY=:0.0 /opt/firefox/firefox -print ..
它不起作用,即使我在我的控制台上尝试它,上面的命令也不起作用。它只是坐在那里什么都不做。现在,唯一可行的方法如下:
$ echo $DISPLAY
localhost:10.0
$ crontab -l
* * * * * DISPLAY=:10.0 /opt/firefox/firefox -print ..
如果我保持登录到机器并等待cron运行,这是有效的。
有没有可行的方法来完成这项工作?我唯一能做的就是始终保持登录机器(我想避免)。
答案 0 :(得分:2)
我认为没有任何简单的设置可以让它正常工作。
但是,Xvfb(X Virtual Framebuffer)应该能够为您提供一个满足您需求的虚拟X显示器:
答案 1 :(得分:0)
我不确定你是否可以这样做。但是,如果您可以这样做,那么您是否在执行此命令时检查X服务器是否正在运行?
答案 2 :(得分:0)
我认为Nate C-K有正确的想法,这是使用Xvfb and a headless Firefox的指南。 Adrian Holovaty的博客也讨论了similar need(评论很有用)。