Ubuntu22.04安装chromium


安装 chromium 发现自带源上面的版本并不匹配系统

正常操作的话,肯定是更新源信息之后,直接通过 apt 的方式进行安装,就可以了。但是发现安装之后,代码却无法使用,提示需要使用 snap 的方式再次安装一下才行。

# 安装正常(209MB)
$ sudo apt install chromium-browser

# 使用发现问题
$ /usr/bin/chromium-browser --version
Command '/usr/bin/chromium-browser' requires the chromium snap to be installed.
Please install it with:
    snap install chromium

apt 的仓库里面搜了下,发现对应的包地址就是 snap 的,是真的恶心呀。这么强推 snap 工具,是不是不合理,不给人选择的机会。

$ apt search chromium-browser
Sorting... Done
Full Text Search... Done
chromium-browser/focal-updates,now 1:85.0.4183.83-0ubuntu0.20.04.3 amd64 [installed]
  Transitional package - chromium-browser -> chromium snap

到这里,想到的就是使用第三方工具安装,或者自定义源来进行安装。安装到家目录的不好在于,该工具并不是全局可以使用,可能会存在一些意外情况的出现,所以还是建议全局安装。

# 第三方工具(默认会安装到家目录)
$ playwright install chromium

# 自定义源
$ wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
$ echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" | tee /etc/apt/sources.list.d/chrome.list
$ apt-get update
$ apt-get install google-chrome-stable

# 自定义源
$ apt search google-chrome-stable
google-chrome-stable/stable 111.0.5563.64-1 amd64
  The web browser from Google

安装玩不之后,就可以使用测试代码测试下,程序(demo.py)可以正常使用。

def check_playwright():
    import asyncio
    from playwright.async_api import async_playwright

    async def inner():
        async with async_playwright() as play:
            browser = await play.chromium.launch(
                headless=True,
                executable_path='/usr/bin/google-chrome-stable')
            context = await browser.new_context()
            page = await context.new_page()
            await page.goto("https://example.com")
            await page.content()
            exit(1)
    asyncio.run(inner())

if __name__ == '__main__':
    check_playwright()

文章作者: Escape
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Escape !