cron - Puppeteer headful 在本地机器上通过 cron 运行时无法启动浏览器,显示“无法打开 X 显示”
问题描述
我有这个 cron 工作:
* * * * * /path/to/node /path/to/script.js >> /path/to/log.log 2>&1
它正在记录以下堆栈跟踪:
Error: Failed to launch the browser process!
[6630:6630:0505/185507.905416:ERROR:browser_main_loop.cc(1485)] Unable to open X display.
TROUBLESHOOTING: https://github.com/puppeteer/puppeteer/blob/master/docs/troubleshooting.md
at onClose (/home/vaibhav/projects/myproject/node_modules/puppeteer/lib/Launcher.js:615:20)
at ChildProcess.<anonymous> (/home/vaibhav/projects/myproject/node_modules/puppeteer/lib/Launcher.js:606:67)
at ChildProcess.emit (events.js:215:7)
at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12)
script.js
看起来这可能是因为 cron 需要export DISPLAY=:0
运行 GUI 应用程序(如此处建议),但添加它对堆栈跟踪没有影响。
解决方案
你可以试试看xvfb-run --server-args='-screen 0 1024x768x24' /path/to/node /path/to/script.js
是否有效。
注意:您可能需要npm install xvfb
.
推荐阅读
- ruby - 使用 ruby api 制作sketchup 测量插件
- database - Azure Database for PostgreSQL 服务器:主机没有 pg_hba.conf 条目
- c++ - 寻找幂的递归函数对于大指数返回零
- python - Pyrebase 和 Firebase 数据库规则,如何用 Python 处理?
- regex - 替换正则表达式循环中的组
- java - 如何知道一个项目是在哪个 JDK 版本上开发的?
- awk - 如何使用 grep 输出每一行的结果?
- ios - ios商店中未上传的phonegap应用程序
- html - 如何使用静态值呈现下拉列表中选择的值
- javascript - 每个条目的链接用逗号分隔