部分应用可能启动失败甚至崩溃,官方仍处于「Term some things」阶段;全分辨率渲染依赖终端支持图像协议(如 kitty、iTerm2),否则画质受行列数限制;提高终端分辨率会提升画质但可能降低性能。
从 GitHub Releases 页面下载 beta 版本:https://github.com/mmulet/term.everything/releasesREADME 未说明具体硬件要求;仅支持 Linux,宿主机需为 x11 或 Wayland 系统。
把任意 GUI 程序渲染到终端里运行的 Wayland 合成器,SSH 远程也能用
把任意图形界面程序搬进终端里跑,靠自研的 Wayland 合成器把 GUI 画面渲染成字符,适合 SSH 远程或纯命令行环境下使用图形应用。
核心能力
- 从零实现的 Wayland 合成器,输出目标改为终端而非显示器
- 兼容 x11 与 Wayland 宿主机系统
- 终端支持图像协议时可按全分辨率渲染窗口
- 画质随终端行列数提升,可自行权衡帧率与分辨率
- 通过 SSH 传输时仍可运行图形程序
容易踩的坑
- 0.7.8Beta 0.7.8pre-release最新正式版2025-12-06 · 2025-12-06 01:49 UTC
Beta 0.7.7
How to use it:
term.everything! is distributed via a single static executable binary
- Download the binary
term.everything❗mmulet.com-dont_forget_to_chmod_+x_this_filebelow. Yes it is a long name (you can always rename it) - Allow the file to be executable:
chmod +x term.everything❗mmulet.com-dont_forget_to_chmod_+x_this_fileDon't forget to do this! 2.5. (Optional) Once you have remembered to chmod+x the file, feel free to rename it to something shorter
mv ./term.everything❗mmulet.com-dont_forget_to_chmod_+x_this_file ./term.everything- Open some apps in the terminal! (for example, firefox)
./term.everything❗mmulet.com-dont_forget_to_chmod_+x_this_file firefoxStill in Beta testing
term.everything❗ is currently in the
term some thingsstage. In other words some apps or (even most apps) may fail to launch or even crash! Please create an issue if you have problems.Compatibility
The app is Linux only, but you may ssh into a remote Linux server from other hosts (Windows, macOS, ...etc) and run Linux GUI apps from the terminal! Static executable compiled on alpine linux latest (11/17/25).
Changelog
0.7.8
- Added support for mouse when really zoomed out by
- Adding SGR 1006 support for mouse reporting in terminals that support it.
- Download the binary
- 0.7.7pre-release2025-12-03 · 2025-12-03 20:51 UTC
查看更新说明
Beta 0.7.7
How to use it:
term.everything! is distributed via a single static executable binary
- Download the binary
term.everything❗mmulet.com-dont_forget_to_chmod_+x_this_filebelow. Yes it is a long name (you can always rename it) - Allow the file to be executable:
chmod +x term.everything❗mmulet.com-dont_forget_to_chmod_+x_this_fileDon't forget to do this! 2.5. (Optional) Once you have remembered to chmod+x the file, feel free to rename it to something shorter
mv ./term.everything❗mmulet.com-dont_forget_to_chmod_+x_this_file ./term.everything- Open some apps in the terminal! (for example, firefox)
./term.everything❗mmulet.com-dont_forget_to_chmod_+x_this_file firefoxStill in Beta testing
term.everything❗ is currently in the
term some thingsstage. In other words some apps or (even most apps) may fail to launch or even crash! Please create an issue if you have problems.Compatibility
The app is Linux only, but you may ssh into a remote Linux server from other hosts (Windows, macOS, ...etc) and run Linux GUI apps from the terminal! Static executable compiled on alpine linux latest (11/17/25).
Changelog
0.7.7
- Fixed a bug where the terminal would not output SIXELS even when the override was set.
- Download the binary
- 0.7.6Beta 0.7.6pre-release2025-11-17 · 2025-11-17 15:56 UTC
查看更新说明
Beta 0.7.6
How to use it:
term.everything! is distributed via a single static executable binary
- Download the binary
term.everything❗mmulet.com-dont_forget_to_chmod_+x_this_filebelow. Yes it is a long name (you can always rename it) - Allow the file to be executable:
chmod +x term.everything❗mmulet.com-dont_forget_to_chmod_+x_this_fileDon't forget to do this! 2.5. (Optional) Once you have remembered to chmod+x the file, feel free to rename it to something shorter
mv ./term.everything❗mmulet.com-dont_forget_to_chmod_+x_this_file ./term.everything- Open some apps in the terminal! (for example, firefox)
./term.everything❗mmulet.com-dont_forget_to_chmod_+x_this_file firefoxStill in Beta testing
term.everything❗ is currently in the
term some thingsstage. In other words some apps or (even most apps) may fail to launch or even crash! Please create an issue if you have problems.Compatibility
The app is Linux only, but you may ssh into a remote Linux server from other hosts (Windows, macOS, ...etc) and run Linux GUI apps from the terminal! Static executable compiled on alpine linux latest (11/17/25).
Changelog
0.7.6
- Now it only redraws the screen when there are changes (like frame draw requests from wayland, mouse movement, etc), reducing CPU usage, and network bandwidth for remote sessions.
- Moved profiling code behind a build tag to reduce binary size for normal users.
- Download the binary
- 0.7.5Beta 0.7.5pre-release2025-11-11 · 2025-11-11 03:24 UTC
查看更新说明
Beta 0.7.5
How to use it:
term.everything! is distributed via a single static executable binary
- Download the binary
term.everything❗mmulet.com-dont_forget_to_chmod_+x_this_filebelow. Yes it is a long name (you can always rename it) - Allow the file to be executable:
chmod +x term.everything❗mmulet.com-dont_forget_to_chmod_+x_this_fileDon't forget to do this! 2.5. (Optional) Once you have remembered to chmod+x the file, feel free to rename it to something shorter
mv ./term.everything❗mmulet.com-dont_forget_to_chmod_+x_this_file ./term.everything- Open some apps in the terminal! (for example, firefox)
./term.everything❗mmulet.com-dont_forget_to_chmod_+x_this_file firefoxStill in Beta testing
term.everything❗ is currently in the
term some thingsstage. In other words some apps or (even most apps) may fail to launch or even crash! Please create an issue if you have problems.Compatibility
The app is Linux only, but you may ssh into a remote Linux server from other hosts (Windows, macOS, ...etc) and run Linux GUI apps from the terminal! Static executable compiled on alpine linux latest (11/10/25).
Changelog
0.7.5
- A full rewrite from typescript to go (with a tiny bit of c)
- This simplifies the build process by a lot and reduces dependencies.
- This lets us easily port to new platforms like arm64.
- Download the binary
- 0.5.4Beta version 0.5.4pre-release2025-10-12 · 2025-10-12 18:07 UTC
查看更新说明
Beta 0.5.4
How to use it:
term.everything! is distributed via an AppImage
- Download the AppImage
term.everything❗mmulet.com-dont_forget_to_chmod_+x_this_filebelow. Yes it is a long name (you can always rename it) - Allow the file to be executable:
chmod +x term.everything❗mmulet.com-dont_forget_to_chmod_+x_this_fileDon't forget to do this! 2.5. (Optional) Once you have remembered to chmod+x the file, feel free to rename it to something shorter
mv ./term.everything❗mmulet.com-dont_forget_to_chmod_+x_this_file ./term.everything- Open some apps in the terminal! (for example, firefox)
./term.everything❗mmulet.com-dont_forget_to_chmod_+x_this_file firefoxStill in Beta testing
term.everything❗ is currently in the
term some thingsstage. In other words some apps or (even most apps) may fail to launch or even crash! Please create an issue if you have problems.Compatibility
The app is Linux only, but you may ssh into a remote Linux server from other hosts (Windows, macOS, ...etc) and run Linux GUI apps from the terminal! AppImage compiled on Ubuntu 22.04.
Changelog
0.5.4
- Added environment variables to pass through chafa options.
- Added environment variable
TERM_EVERYTHING_PIXEL_TYPEto workaround certain cases where there is a bgr/rgb swap. - Added
--max-frame-rateoption to ...set the maximum frame rate. - Fixed a build bug with node_canvas's included version of libstdc++.so
- Download the AppImage
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
Run every GUI app in the terminal!

Even over ssh!
Behold as I play a video game in a font in a web browser in a terminal transmitted over ssh (with one hand tied behind my back)!

Read about how it works!
Check out HowIDidIt.md
More Examples
The quality of the window is limited to the number of rows and columns in your terminal. If you increase the resolution (ctrl - in alacritty, check your terminal) the quality will go up, (but performance may go down).
Here I open up the Wing It! movie, and increase the quality until I get both a good frame rate and resolution:

If your terminal supports images (like kitty or iterm2) you can render windows at full resolution (performance may degrade).
In this example, on my mac, I open iTerm2 ssh into ubuntu and open firefox at full resolution:

I feel like every single day I hear about another terminal file viewer. I say, stop making terminal file viewers because you can just use the file viewer you already have! In your terminal!

Terminal in a terminal in a terminal in a terminal in a terminal.... it's terminals all the way down.

With only a small amount hacking, it can run Doom (shareware episode)!
Run an entire Desktop in your terminal!
@ismail-yilmaz is running Firefox, on KDE Neon in a VM on Bobcat

And this isn't even full resolution! Checkout the full vid in in the discussions
About
term.everything❗ is a Linux CLI program to run GUI windows in your terminal. Specifically, term.everything❗ is a built-from-scratch Wayland compositor that outputs to a terminal rather than your monitor.
Don't know what Wayland is or just want to know more about how this works? Then, head over to HowIDidIt.md where I will explain how everything works in detail.
Try it out!
Roadmap
- Term some things <--- This is where we are at
- Some apps or (even most apps) may fail to launch or even crash! Please create an issue if you have problems.
- Term most things
- Term everything❗
Help and Usage
Check out the help file here for a usage guide on how to use term.everything❗
Contributing
term.everything❗ is written in developer friendly Go, with a just a smidge of C. See ./Contributing.md.
Legal:
term.everything❗ copyright 2025 Late for Dinner Studios, LLC
Fontemon copyright 2021 Late for Dinner Studios, LLC
Wing It! movie is licensed under the Creative Commons Attribution 4.0 license Wing it licensing page Attribution: (CC) Blender Foundation | studio.blender.org
Doom shareware episode is copyright 1993 id Software
Bonus:
This is Gwerm the Term Worm.

He is doing okay. Thanks for asking.
