【GitHub项目推荐--Carbonyl:终端里的 Chromium 图形浏览器】⭐⭐⭐⭐⭐
简介
Carbonyl 是一个基于 Chromium 引擎、专为终端(Terminal)环境构建的开源图形浏览器。它并非 Lynx 那样的纯文本浏览器,而是通过 Unicode 块字符和 ANSI 颜色,将网页以像素级图形的方式渲染在命令行窗口中。该项目最初源于html2svg工具,现已演变为一个完整的浏览器运行时。
它最大的特点是无需图形界面(X11/Wayland)即可运行现代 Web 应用。你可以在纯命令行服务器、SSH 远程会话甚至安全模式控制台中,直接浏览支持 WebGL、WebGPU 的复杂页面,体验接近桌面浏览器的交互能力。
主要功能
完整的 Web 标准支持:基于 Chromium 内核,支持 JavaScript、WebAssembly、WebGL、WebGPU、CSS 动画等现代 API,几乎能运行任何复杂的单页应用(SPA)。
多媒体播放:支持视频与音频播放(部分环境受限),帧率最高可达 60 FPS,在终端里“看视频”不再是天方夜谭。
极致的轻量化:启动时间小于 1 秒,空闲时 CPU 占用率为 0%。相比同类方案(如 Browsh),资源消耗极低,渲染效率更高。
无头环境原生支持:完全不需要窗口服务器,可直接在 Linux 虚拟终端(TTY)、SSH 连接或 Docker 容器内运行,是服务器调试的利器。
灵活的构建架构:项目采用 Rust 编写核心库(
libcarbonyl),运行时基于修改的 Chromium headless shell,支持快速迭代开发。
安装与配置
推荐安装方式
Docker(最快上手):
适合大多数 Linux 服务器或本地测试,无需安装复杂依赖。
docker run --rm -ti fathyb/carbonyl https://github.comnpm 安装:
若本地已有 Node.js 环境,可全局安装:
npm install -g carbonyl预编译二进制:
从 GitHub Releases 页面下载对应平台(Linux/macOS)的二进制包,解压后可直接运行。
环境要求
Linux:需要与 Chromium 相同的依赖库(如 libnss3、libatk-bridge等)。
macOS / Windows:macOS 可直接运行二进制;Windows 建议通过 WSL2 使用。
如何使用
基本浏览:
在终端直接输入
carbonyl命令加 URL 即可。carbonyl https://news.ycombinator.com参数调整:
支持调整渲染帧率(
--fps)和缩放比例(--zoom),以适应不同终端尺寸和性能需求。交互操作:
鼠标:支持点击链接、按钮(若终端支持鼠标事件)。
键盘:使用
Tab键切换焦点,Enter确认,Ctrl+C退出。滚动:使用鼠标滚轮或键盘方向键。
本地文件查看:
使用
file://协议查看本地图片或 HTML 文件。carbonyl file:///path/to/image.png
应用场景实例
场景一:无 GUI 服务器网页调试
当你通过 SSH 连接到一台没有安装桌面的远程服务器,发现 Web 服务(如 Nginx 静态页)状态异常。无需配置复杂的远程桌面或 X11 转发,直接运行
carbonyl http://localhost:8080,即可在终端内直观检查页面布局和 JS 加载情况,快速定位渲染错误。场景二:CI/CD 自动化视觉回归测试
在持续集成流水线(如 GitHub Actions)中,使用 Carbonyl 的 Docker 镜像进行页面截图(字符形式)对比。由于它基于真实 Chromium 内核,能捕捉到纯文本浏览器无法察觉的 CSS 样式或 Canvas 渲染差异,且比启动完整图形环境的方案更轻量、更快速。
场景三:低带宽/嵌入式环境浏览
在树莓派或旧设备上,图形界面卡顿且占用资源。使用 Carbonyl 可以极低的内存和 CPU 开销,访问 Gmail、Slack 等现代 Web 应用。虽然画面是“马赛克”字符风格,但功能逻辑完全正常,适合作为轻量级信息工作站。
GitHub 地址
项目仓库:https://github.com/fathyb/carbonyl
