Scripts2026年5月11日·1 分钟阅读

term.everything — Run Any GUI Application in the Terminal

A tool that renders graphical applications directly in the terminal using character cells, enabling GUI apps over SSH and in terminal-only environments.

Introduction

term.everything is a tool that renders graphical desktop applications directly inside a terminal emulator. It acts as a lightweight Wayland compositor that outputs to character cells, enabling you to run GUI apps over SSH, in tmux, or on headless servers.

What term.everything Does

  • Renders GUI applications as colored character cells in any terminal
  • Acts as a Wayland compositor that outputs to the terminal instead of a display
  • Supports mouse input, scrolling, and keyboard passthrough
  • Works over SSH for running remote GUI apps without X11 forwarding
  • Handles window management for multiple GUI apps in terminal panes

Architecture Overview

term.everything implements a minimal Wayland compositor in Go. When a GUI application renders frames, the compositor captures them and converts pixel data to colored terminal characters using Unicode block elements. Input events from the terminal are translated back to Wayland input events, completing the bidirectional bridge.

Self-Hosting & Configuration

  • Install via go install or download pre-built binaries
  • Requires a terminal with true-color (24-bit) support for best results
  • Works with Alacritty, Kitty, iTerm2, WezTerm, and most modern terminals
  • Configure character resolution and frame rate via command-line flags
  • Supports Wayland-native apps; X11 apps work via XWayland

Key Features

  • Run any GUI application inside a terminal — browsers, editors, viewers
  • Works over SSH without X11 forwarding or VNC
  • Supports true-color rendering for readable output
  • Mouse and keyboard input fully bridged to the GUI app
  • Lightweight Go binary with minimal system requirements

Comparison with Similar Tools

  • X11 forwarding — requires X server on client; term.everything needs only a terminal
  • VNC/RDP — heavyweight remote desktop protocols; term.everything is zero-config
  • Neko — browser-in-Docker via WebRTC; term.everything runs natively in terminal
  • Sixel/Kitty graphics — image protocols, not interactive GUI bridging
  • tmux/screen — terminal multiplexers without GUI app support

FAQ

Q: How readable are GUI apps rendered in the terminal? A: Modern terminals with true-color and Unicode block characters produce surprisingly usable output, especially at higher terminal resolutions.

Q: Does it work with all GUI apps? A: It supports Wayland-native applications. X11 apps require XWayland.

Q: Can I use it over SSH? A: Yes. That is a primary use case — run remote GUI apps with just an SSH connection.

Q: What terminal emulators are supported? A: Any terminal with 24-bit color support works. Alacritty, Kitty, iTerm2, and WezTerm are recommended.

Sources

讨论

登录后参与讨论。
还没有评论,来写第一条吧。

相关资产