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

Ubuntu环境下运行Telegram脚本Bot时Chrome启动失败求助

解决Ubuntu上Chromedriver启动失败的问题

嘿,我之前也碰到过完全一样的情况!看你的报错信息,chromedriver=2.29这个版本实在太老了(2017年的版本),和Ubuntu上默认安装的Chrome版本完全不兼容,再加上Ubuntu无桌面环境下的特殊配置要求,才导致Chrome启动异常。下面一步步来搞定:

1. 先搞定Chrome浏览器的版本

先看看你当前Ubuntu上的Chrome版本:

google-chrome --version

要是还没装Chrome,直接用命令装最新稳定版:

sudo apt update
sudo apt install google-chrome-stable

2. 匹配对应版本的Chromedriver

Chromedriver必须和Chrome的主版本号完全一致(比如Chrome是118.x,就下118.x的Chromedriver)。

  • 去Chrome官方的Chromedriver仓库找和你Chrome版本匹配的Linux版本压缩包下载
  • 解压后放到系统路径里,给上执行权限:
unzip chromedriver_linux64.zip
sudo mv chromedriver /usr/local/bin/
sudo chmod +x /usr/local/bin/chromedriver

最后验证下版本是否对应:

chromedriver --version

3. 补全Ubuntu上Chrome需要的依赖

有时候Ubuntu会缺一些库导致Chrome启动失败,直接装这些常用依赖:

sudo apt install -y libnss3 libgconf-2-4 libxss1 libappindicator1 libindicator7

4. 给脚本加上无头模式配置(关键!)

Ubuntu服务器一般没有桌面环境,Chrome默认没法启动图形界面,所以必须在你的Bot脚本里加上无头模式的参数。比如用Selenium的话,改成这样:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

chrome_options = Options()
# 启用新的无头模式,比旧版更稳定
chrome_options.add_argument('--headless=new')
# 禁用沙箱,Ubuntu上必须加这个参数
chrome_options.add_argument('--no-sandbox')
# 解决/dev/shm空间不足的问题
chrome_options.add_argument('--disable-dev-shm-usage')
# 无头模式不需要GPU加速,直接禁用
chrome_options.add_argument('--disable-gpu')

driver = webdriver.Chrome(options=chrome_options)

5. 先手动测试Chrome能不能跑

先在终端里手动跑一遍Chrome,确认没问题:

google-chrome --headless=new --no-sandbox --disable-gpu https://www.google.com

如果这条命令能正常执行不报错,再去运行你的Telegram Bot脚本,应该就能正常启动Chromedriver了。


内容的提问来源于stack exchange,提问作者Kleber Breves

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:38:52