我正在尝试在 Ubuntu 上使用 SlimerJS 设置重复任务。它通过以下方式在终端中独立工作:
(cd /[slimerdir]; ./slimerjs views.js)
但是,当我将命令放入 Gnome 任务计划程序并运行它时,没有弹出浏览器窗口。它只是说按Enter键关闭窗口。
任何人都知道我在这里缺少什么(或者是否可以以这种方式运行 SlimerJS?)
在@user-------的帮助下,我发现Ubuntu需要以下内容:
(env DISPLAY=:0; cd [slimerdir]/slimerjs; export SLIMERJSLAUNCHER=/usr/bin/firefox; [slimerdir]/views.js)
否则终端窗口不会打开。
关于两点cron
:
由于 与PATH
您通常的路径不同,并且 cwd 有时不是您所期望的,因此请使用绝对路径。
如果您从普通 X 环境之外调用 GUI 程序,则需要指定DISPLAY
变量,例如通过env
.
由于 Gnome 任务计划程序只是 的前端cron
,因此DISPLAY
可能缺少环境变量。尝试
env DISPLAY=:0 [slimerdir]/slimerjs [slimerdir]/views.js
用于测试的 crontab 行DISPLAY=:1.0
是
* * * * * env DISPLAY=:1.0 /dir/slimerjs /dir/hello.js
请参阅@Optimus 的回答,了解最终的效果。