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

Ubuntu环境Selenium启动Chrome未开无头模式却无UI显示问题求助

问题基础信息
  • 测试框架:Selenium
  • 浏览器版本:Chrome 103.0.5060.53
  • 异常现象:Ubuntu环境下运行测试时Chrome UI无法正常显示,窗口对应区域卡顿,但浏览器进程处于活跃状态,测试代码可正常执行到全部检查点;相同代码在Windows、Mac系统运行无异常,配置未启用无头(headless)模式。
排查解决步骤
  • 补全Chrome运行依赖
    最小化安装的Ubuntu桌面、或Server版加装桌面环境时,经常缺失Chrome渲染必需的系统库,直接执行命令安装全量依赖:
    sudo apt update && sudo apt install -y libx11-xcb1 libxcomposite1 libxcursor1 libxdamage1 libxi6 libxtst6 libnss3 libcups2 libxss1 libxrandr2 libasound2 libpangocairo-1.0-0 libatk1.0-0 libcairo-gobject2 libgtk-3-0 libgdk-pixbuf2.0-0
    
  • 修复远程连接X11转发配置
    如果是通过SSH远程连接Ubuntu跑测试,首先确认SSH连接时加了X11转发参数:ssh -X 用户名@主机IP,同时检查Ubuntu端/etc/ssh/sshd_config配置项,确保X11Forwarding yes,修改后执行sudo systemctl restart sshd重启服务生效。
  • 禁用Chrome硬件加速
    Chrome 103版本和Ubuntu默认开源显卡驱动存在兼容问题,硬件加速进程崩溃时就会出现UI不渲染但浏览器内核正常运行的现象,给Selenium追加以下启动参数即可:
    # Python Selenium示例,其他语言调用ChromeOptions添加相同参数即可
    from selenium.webdriver.chrome.options import Options
    chrome_opt = Options()
    chrome_opt.add_argument("--disable-gpu")
    chrome_opt.add_argument("--disable-software-rasterizer")
    chrome_opt.add_argument("--disable-features=VizDisplayCompositor")
    
  • 修复桌面会话权限问题
    如果用sudo、或非桌面登录用户运行Selenium,会拿不到X11显示权限:
    1. 终端执行echo $DISPLAY确认环境变量,本地桌面运行正常值为:0,如果输出为空,执行export DISPLAY=:0手动指定
    2. 执行xhost +放开当前X会话的访问权限(仅本地测试场景使用)
  • 清理残留进程
    异常退出的Chrome、ChromeDriver进程会占用渲染锁,执行命令清理所有残留进程后重试:
    pkill -9 chrome
    pkill -9 chromedriver
    

内容的提问来源于stack exchange,提问作者8bitdefault

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 07:21:28