term.everything

mmuletAGPL-3.0更新放缓

把任意图形界面程序搬进终端里跑,靠自研的 Wayland 合成器把 GUI 画面渲染成字符,适合 SSH 远程或纯命令行环境下使用图形应用。

Run any GUI app in the terminal❗

0.7.8发布于 2025-12-06 01:49 UTC8,125star197fork同步于 2026-11-10 11:31 UTC

怎么上手

由 README 提炼,执行前请确认
从 GitHub Releases 页面下载 beta 版本:https://github.com/mmulet/term.everything/releases
硬件要求按 README 说明

README 未说明具体硬件要求;仅支持 Linux,宿主机需为 x11 或 Wayland 系统。

支持 Apple Silicon
下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

把任意 GUI 程序渲染到终端里运行的 Wayland 合成器,SSH 远程也能用

把任意图形界面程序搬进终端里跑,靠自研的 Wayland 合成器把 GUI 画面渲染成字符,适合 SSH 远程或纯命令行环境下使用图形应用。

核心能力

  • 从零实现的 Wayland 合成器,输出目标改为终端而非显示器
  • 兼容 x11 与 Wayland 宿主机系统
  • 终端支持图像协议时可按全分辨率渲染窗口
  • 画质随终端行列数提升,可自行权衡帧率与分辨率
  • 通过 SSH 传输时仍可运行图形程序

容易踩的坑

部分应用可能启动失败甚至崩溃,官方仍处于「Term some things」阶段;全分辨率渲染依赖终端支持图像协议(如 kitty、iTerm2),否则画质受行列数限制;提高终端分辨率会提升画质但可能降低性能。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本0.7.8
  1. 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

    1. Download the binary term.everything❗mmulet.com-dont_forget_to_chmod_+x_this_file below. Yes it is a long name (you can always rename it)
    2. Allow the file to be executable:
    chmod +x term.everything❗mmulet.com-dont_forget_to_chmod_+x_this_file
    

    Don'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
    
    1. Open some apps in the terminal! (for example, firefox)
    ./term.everything❗mmulet.com-dont_forget_to_chmod_+x_this_file firefox
    

    Still in Beta testing

    term.everything❗ is currently in the term some things stage. 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.
  2. 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

    1. Download the binary term.everything❗mmulet.com-dont_forget_to_chmod_+x_this_file below. Yes it is a long name (you can always rename it)
    2. Allow the file to be executable:
    chmod +x term.everything❗mmulet.com-dont_forget_to_chmod_+x_this_file
    

    Don'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
    
    1. Open some apps in the terminal! (for example, firefox)
    ./term.everything❗mmulet.com-dont_forget_to_chmod_+x_this_file firefox
    

    Still in Beta testing

    term.everything❗ is currently in the term some things stage. 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.
  3. 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

    1. Download the binary term.everything❗mmulet.com-dont_forget_to_chmod_+x_this_file below. Yes it is a long name (you can always rename it)
    2. Allow the file to be executable:
    chmod +x term.everything❗mmulet.com-dont_forget_to_chmod_+x_this_file
    

    Don'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
    
    1. Open some apps in the terminal! (for example, firefox)
    ./term.everything❗mmulet.com-dont_forget_to_chmod_+x_this_file firefox
    

    Still in Beta testing

    term.everything❗ is currently in the term some things stage. 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.
  4. 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

    1. Download the binary term.everything❗mmulet.com-dont_forget_to_chmod_+x_this_file below. Yes it is a long name (you can always rename it)
    2. Allow the file to be executable:
    chmod +x term.everything❗mmulet.com-dont_forget_to_chmod_+x_this_file
    

    Don'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
    
    1. Open some apps in the terminal! (for example, firefox)
    ./term.everything❗mmulet.com-dont_forget_to_chmod_+x_this_file firefox
    

    Still in Beta testing

    term.everything❗ is currently in the term some things stage. 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.
  5. 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

    1. Download the AppImage term.everything❗mmulet.com-dont_forget_to_chmod_+x_this_file below. Yes it is a long name (you can always rename it)
    2. Allow the file to be executable:
    chmod +x term.everything❗mmulet.com-dont_forget_to_chmod_+x_this_file
    

    Don'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
    
    1. Open some apps in the terminal! (for example, firefox)
    ./term.everything❗mmulet.com-dont_forget_to_chmod_+x_this_file firefox
    

    Still in Beta testing

    term.everything❗ is currently in the term some things stage. 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_TYPE to workaround certain cases where there is a bgr/rgb swap.
    • Added --max-frame-rate option to ...set the maximum frame rate.
    • Fixed a build bug with node_canvas's included version of libstdc++.so

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    Run every GUI app in the terminal!

    warp_into_terminal0001-0195

    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)!

    ssh_example

    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:

    increase 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:

    full_resultion


    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!

    file_manager


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


    With only a small amount hacking, it can run Doom (shareware episode)!

    Doom

    Run an entire Desktop in your terminal! @ismail-yilmaz is running Firefox, on KDE Neon in a VM on Bobcat Desktop in VM

    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!

    Download the beta test now!

    Roadmap

    1. 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.
    1. Term most things
    2. 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.

    this is gwern

    He is doing okay. Thanks for asking.