Carbonyl在你的终端内运行 Chromium

联合创作 · 2023-09-23 02:54

Carbonyl 是一种基于 Chromium 的浏览器,可以在终端中运行。它支持几乎所有的 Web API,包括 WebGL、WebGPU、音频和视频播放、动画等。

它很快,启动时间不到一秒,运行速度为 60 FPS,闲置时 CPU 使用率为 0%。它不需要窗口服务器(即在安全模式控制台中工作),甚至可以通过 SSH 运行。

# Watch YouTube inside a Docker container
$ docker run -ti fathyb/carbonyl https://youtube.com

比较

Lynx 是 OG 终端网络浏览器,也是目前仍在维护的最古老的浏览器。

优点

  • 当它 understand 一个页面时,Lynx 有最好的布局,为终端完全优化

缺点

有些听起来像是优点,但如果你愿意,Browsh 和 Carbonyl 可以让你禁用其中的大部分功能

  • 不支持很多现代网络标准
  • 无法运行 JavaScript/WebAssembly
  • 无法查看或播放媒体(音频、视频、DOOM)

Browsh 是 OG 的“normal browser into a terminal”项目。它以 headless 模式启动 Firefox,并通过自动化协议连接到它。

优点

  • 更新底层浏览器更容易:只需更新 Firefox
  • 这使得开发更容易:只需安装 Firefox 并在几秒钟内编译 Go 代码
  • 截至今天,Browsh 支持扩展,而 Carbonyl 不支持,但该功能在路线图规划上

缺点

  • 它比 Carbonyl 运行得更慢并且需要更多的资源。同样的内容平均需要多 50 倍的 CPU 处理能力,这是因为 Carbonyl 不会缩小或复制窗口帧缓冲区,它会 natively 渲染到终端分辨率。
  • 它使用自定义样式表来修复布局,这不如 Carbonyl 对其 HTML 引擎 (Blink) 的更改可靠。

关于 Carbonyl 的几点注意事项:

  • 需要构建 Chromium
  • 构建 Carbonyl 与构建 Chromium 几乎相同,只是需要额外的步骤来修补和捆绑 Rust 库。scripts/目录中的脚本是围绕gnninja等的简单封装。
  • 在 Linux 上为 arm64 构建 Chromium 需要 amd64 处理器
  • Carbonyl 仅在 Linux 和 macOS 上进行测试,其他平台可能需要更改 Chromium 的代码
  • Chromium 非常庞大,需要很长时间才能构建,使你的计算机几乎没有响应。一个 8 核 CPU,例如 M1 Max 或带有 10 Gbps 光纤的 i9 9900k,大约需要 1 小时来获取和构建。它需要大约 100 GB 的磁盘空间。
浏览 9
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报