About¶
terminux is a cross-platform desktop terminal organized around a workspaces sidebar and tabbed terminals. It builds that workspace-first UX on a small, auditable two-process architecture: a Python backend that owns the real PTYs, and a TypeScript web UI rendered in a native window.
Philosophy¶
- Reliability over features. A terminal hosts your live shells; a freeze or a lost session costs real work. terminux ships fewer features and hardens the ones it has: non-blocking terminal I/O end to end, a watchdog that diagnoses its own stalls, automatic reconnection, and atomic, versioned persistence.
- Local-first. No account and no telemetry. All state lives in local files you can read (
state.jsonplus one scrollback file per tab). The network surface is loopback-only unless you opt out. - A terminal, nothing else. There is no editor, AI, git client, or file navigator; those already live in your shell. Keeping the surface small keeps it auditable.
- Respect the platform. Shortcuts follow each platform's conventions (
Cmdon macOS,Ctrl+Shifton Linux, matching GNOME Terminal and friends), rawCtrlchords flow to the shell, and macOS quirks (press-and-hold, TCC) are handled the way native terminal apps handle them.
Status¶
terminux is a 0.10 preview for macOS, Linux and Windows. Working today: the workspace/tab core with working-and-ready signals, layout and scrollback persistence, remote access with automatic reconnection, keyboard-first navigation, and macOS and Linux bundles. Split panes, a standalone Windows bundle, and multi-user auth for the open web are still ahead. The changelog records every release in user-facing terms.
License and source¶
terminux is free software under the Apache 2.0 license. Development happens in the open:
- GitHub: abilian/terminux
- sourcehut: ~sfermigier/terminux
Bug reports are welcome on the issue tracker; a report is most useful with the output of a --debug run (see Debugging knobs).
Credits¶
terminux's design draws on similar projects; Compared to… explains where it sits among them. Under the hood terminux stands on xterm.js, Starlette, pywebview, and Preact.