档案库 · 产品创意 · 技术决策 · 2025
term.everything:终端内运行真实 GUI 应用,基于自研 Wayland 合成器
从零构建的 Wayland 合成器将 GUI 窗口渲染到终端单元格,甚至支持 SSH 远程;Show HN 获得 1094 分,仓库获得 8.1k star。
Late for Dinner Studios
当时的题目
Developer mmulet wanted to explore the unexplored potential of custom Wayland compositors, embedding existing applications into new surfaces. The terminal was the easiest input/output to start with, and there was a nagging frustration behind it: developers keep building yet another terminal file viewer when the file viewers they already have could simply run inside the terminal.
它是怎么成立的
term.everything 是一个 Linux 程序,可以在终端中运行 GUI 应用。它是一个自建 Wayland 合成器,将窗口输出到终端单元格而非显示器,因此视频播放器、网页浏览器或游戏渲染为文本,除非终端支持图片。作者的宣传语——在终端中运行每个 GUI 应用,甚至支持 SSH——将一个深入的系统黑客技巧变成任何人都能想象的东西。
这个想法源于一种信念:自定义 Wayland 合成器在嵌入现有应用方面有未开发的潜力,而终端是最容易开始的表面:输出只是通过 chafa 库渲染的 UTF-8,输入从 stdin 读取。作者有意用 TypeScript 编写了大部分代码,采用熟悉的 Canvas2D API 吸引贡献者,后来用 Go 重写了项目,发布了测试版,并在一篇 HowIDidIt 文章中记录了方法。
该项目于 2025 年 9 月 9 日在 Hacker News 上发布,获得 1094 分和 144 条评论,读者问“能跑 Doom 吗?”,并将其与 Carbonyl 等终端浏览器比较,讨论终端的极限。仓库显示 8.1k stars、194 forks 和 107 commits,演示了 SSH 下 Firefox 的全分辨率显示,以及虚拟机内整个桌面。
妙在哪
- 这个概念扭转了一场熟悉的竞赛:人们不是构建另一个终端应用,而是可以让他们已经在使用的 GUI 工具在随处可见的终端中运行。
- 技术雄心是故事的核心:从零构建 Wayland 合成器是严肃的工程,但宣传语却简单得让任何人都能想象,这让一个小众工具登上了首页。
- 支持 SSH 使这个想法不仅仅聪明,而是实用:开发者可以从只有终端的笔记本电脑上访问完整的图形应用程序。
- 作者拥抱荒谬——从‘term some things’到‘term everything!’的路线图、Doom 共享版、浏览器中的字体渲染游戏——使演示循环变得有趣,值得分享。
做出来什么
The Show HN post on 9 September 2025 drew 1,094 points and 144 comments within days; the repository shows 8.1k stars, 194 forks and 107 commits, with a roadmap that jokes 'term some things' (the current step), 'term most things', then 'term everything!'
可以借走的
将黑客技巧放入每个人都有的容器:终端。一个有趣的路线图和愚蠢的演示——Doom、VM 中的桌面——让严肃的工程看起来像游戏,并将其带到了首页。
后来
该项目仍然是一个开放、社区规模的测试版,而不是商业产品:当仓库快照被捕获时,它已被 Go 重写,拥有 8.1k stars 和 194 forks,路线图仍停留在第一步‘term some things’。评论者提到了相邻项目如 Carbonyl 和 awrit,而作者主张那些项目试图做不同的事情,并承诺未来可能提供 macOS 版本。除了代码仓库指标外,没有报告销售、融资或发布数据。
资料来源
发现哪里写错了?告诉我们。
轮到你了
你刚读完一个点子。把你手上的题目说出来,看看谁接过同样的题。
免费账号 · 3 次免费提问 · 不用绑卡