可以,但需要额外配置。
在 Ubuntu 系统的百度云服务器(ECS)上运行 Chrome 浏览器是完全可行的,但由于云服务器通常没有物理显示器和显卡提速环境,直接安装并运行会遇到“无法启动”或“无显示窗口”的问题。你需要通过以下两种方式之一来实现:
方案一:使用 Xvfb + VNC/RDP(推荐用于远程图形界面)
这是最常见的方案,适合需要操作图形界面的场景。
-
安装基础依赖:
首先确保系统已更新,并安装必要的库文件(Chrome 依赖很多 GUI 库)。sudo apt update sudo apt install -y xvfb xorg dbus-x11 libxkbcommon-x11-0 libgbm1 libnss3 libatk1.0-0 libatk-bridge2.0-0 libcups2 libdrm2 libgtk-3-0 libxcomposite1 libxdamage1 libxrandr2 libxfixes3 libxrender1 libpango-1.0-0 libcairo2 libasound2 -
安装 Chrome:
下载.deb包或使用命令安装(以最新版为例):wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb sudo dpkg -i google-chrome-stable_current_amd64.deb # 如果依赖报错,执行修复 sudo apt --fix-broken install -
配置虚拟显示环境 (Xvfb):
创建一个虚拟显示器并启动 Chrome:# 启动虚拟显示器 Xvfb :99 -screen 0 1024x768x24 & # 设置环境变量指向该显示器 export DISPLAY=:99 # 启动 Chrome (加上 --no-sandbox 参数以适应服务器环境) google-chrome --no-sandbox --disable-setuid-sandbox & -
连接远程桌面:
为了看到界面,你需要配合 VNC Server (如tigervnc) 或 XRDP。- 安装 VNC:
sudo apt install tigervnc-standalone-server - 配置 VNC 启动脚本,让它在启动时自动运行上述的 Xvfb 和 Chrome 命令。
- 本地电脑使用 VNC Viewer 连接到云服务器的 IP 和端口,即可看到 Chrome 窗口。
- 安装 VNC:
方案二:Headless 模式(推荐用于自动化测试/爬虫)
如果你不需要人工操作,而是为了运行 Selenium、Puppeteer 等自动化脚本,则不需要任何图形界面。
- 安装 Chrome(同上)。
- 直接使用无头模式启动:
在代码中指定--headless参数,或者在命令行直接运行:google-chrome --headless --disable-gpu --no-sandbox --disable-setuid-sandbox "https://www.baidu.com"注意:
--no-sandbox是必须的,因为 Docker 或云服务器环境下 root 用户默认不能进入沙箱。
⚠️ 关键注意事项
- 安全组配置:如果你选择方案一(VNC/XRDP),务必在百度云控制台的安全组规则中放行相应的端口(例如 VNC 的 5900+ 端口,或 XRDP 的 3389 端口),否则本地无法连接。
- 资源占用:Chrome 比较吃内存,建议云服务器至少配备 2GB 以上 的内存,否则运行多个标签页容易导致 OOM(内存溢出)崩溃。
- 权限问题:在服务器上运行 Chrome 时,强烈建议添加
--no-sandbox --disable-setuid-sandbox参数,否则大概率会报Sandboxed process failed错误。
总结:百度云服务器完全可以运行 Chrome。如果是为了人工浏览,请搭配 VNC/XRDP;如果是为了程序调用,直接使用 Headless 模式即可。
CLOUD技术博