You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 22.04重启后Puppeteer无法启动Chromium,SSH登录后恢复正常的问题求助

Ubuntu 22.04重启后Puppeteer无法启动Chromium,SSH登录后恢复正常的问题求助

大家好,我碰到了一个百思不得其解的问题,想请教下各位大佬的解决思路。

我的环境是这样的:

  • 全新搭建的Ubuntu 22.04服务器
  • 运行Node.js(v18.12.1)+ Express服务,用PM2作为进程管理器
  • 安装了Puppeteer和Chromium浏览器,用于生成高质量PNG截图,手动测试时功能完全正常

问题具体表现:
服务器重启后,PM2能成功拉起我的Node应用,网站可以正常访问,ping请求和接口响应都没问题,看起来服务本身是正常运行的。但这时候如果触发生成截图的请求,Puppeteer就会失败,报错信息如下:

Error: Failed to launch the browser process!

/usr/bin/chromium-browser: 12: xdg-settings: not found

2022/12/08 00:36:47.167545 cmd_run.go:1055: WARNING: cannot start document portal: dial unix
/run/user/1001/bus: connect: no such file or directory

/system.slice/pm2-sammy.service is not a snap cgroup

但奇怪的是,只要我以用户sammy(所有软件和服务都是用这个用户安装的,pm2 startup的配置也存在/home/sammy目录下)SSH登录到服务器之后,再触发相同的截图请求,一切又恢复正常了。就好像SSH登录这个操作触发了某个必要的环境或者会话初始化,本地的Vagrant测试环境完全没有这个问题。

我自己猜测,会不会是服务器重启后sammy用户没有活跃的会话存在,导致Puppeteer启动Chromium时缺少必要的环境?但不确定具体是哪部分出了问题,也不知道该怎么配置才能让重启后不用SSH登录也能正常运行。

有没有朋友遇到过类似的问题,或者能给我一些排查方向?

备注:内容来源于stack exchange,提问作者Mehmet

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 07:33:10