Carbonyl

在你的终端内运行 Chromium
授权协议 未知
开发语言 C/C++ SHELL Rust
所属分类 Web应用开发、 浏览器/JS引擎
软件类型 开源软件
地区 不详
投 递 者 陈宏胜
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

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 的磁盘空间。
 相关资料
  • 谢谢 *:JBoss保险丝(6.1.0.REHAT-379)

  • 问题内容: 我如何在Linux终端上执行C#代码作为Shell脚本。 我有以下示例代码: 当我运行shell bash时,我使用。使用C#怎么做? 问题答案: 该(hashbang)标签是用来告诉使用哪种解释让你的Perl,PHP,庆典,SH等脚本将正确运行shell。 但是C#不是脚本语言,它旨在被编译成可执行格式。如果要使用C#,则至少需要安装编译器和运行时,最好是安装IDE(集成开发环境)来

  • 我安装mercurial使用sudo apt-get安装mercurial和它安装正确。但是当我运行任何hg命令时,我都会收到以下错误消息- 中止:在中找不到mercurial库3.3.3.2.2-3.2-3.2.2.2-3.2.2-3.2-3.2-3.2-2.2-3.2-3.3.4-4.4.4.4.4/7/7/7/7/7/7/7/7/4.4/7/7/4.3.2.2.2-3.2-3.2-3.2-3

  • 我试图了解shebang是如何工作的,并想知道当您在终端提示符下键入< code>node时会发生什么。想知道它是否在某个地方调用了c函数中的< code>main。使用node有一段时间了,我只懂一些基础知识。The shebang 以某种方式读取节点可执行文件,我不确定它是什么或在哪里,以及它从哪里开始。然后是实际计算表达式< code>node并将其定向到shebang的代码,但这可能太复杂

  • 我似乎一直在尝试在vscode中运行python3文件。我注意到右上角运行代码的三角形按钮也不再是绿色。 我已经为python3建立了自己的venv,并且安装了numpy包——我已经检查了< code>pip list,它在那里,并且在导入时调用这个包中的任何方法时运行良好。 当我右键单击vscode中的文件并单击在终端中运行Python文件时-它运行得非常好,并为我提供了所需的输出。 但是,当我

  • 我使用的是一个安装了Ubuntu的云虚拟机。安装的Java版本为: 在编译java程序时,我必须使用两个jar:和。我使用的终端命令是: 使用将disco和sqlite jar添加到类路径中。 这将在目录中创建我的文件,而不会出现错误。这些JAR包含在目录中。 包含这部分代码,从头开始: 当我在终端中运行以下内容时,问题就开始了: 终端机显示我: 错误:出现JNI错误,请检查您的安装并在线程“ma