Carbonyl在你的终端内运行 Chromium
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/
目录中的脚本是围绕gn
、ninja
等的简单封装。 - 在 Linux 上为 arm64 构建 Chromium 需要 amd64 处理器
- Carbonyl 仅在 Linux 和 macOS 上进行测试,其他平台可能需要更改 Chromium 的代码
- Chromium 非常庞大,需要很长时间才能构建,使你的计算机几乎没有响应。一个 8 核 CPU,例如 M1 Max 或带有 10 Gbps 光纤的 i9 9900k,大约需要 1 小时来获取和构建。它需要大约 100 GB 的磁盘空间。
评论