TERMIUM / DOCUMENTATION

Installation

Paste this one line into bash, zsh, or fish on Linux x86-64 or macOS:

curl -fsSL https://termium.dev/install | bash

Setup installs the private runtime, downloads verified Chromium and Vimium, checks browser startup, and opens Termium. It also makes termium available in new terminals. No development tools, manual browser installation, or sudo required.

This is an early release. Check the platform requirements below. Release notes and native archives are on GitHub.

For unattended installation without opening the browser:

bash -o pipefail -c 'curl -fsSL https://termium.dev/install | bash -s -- --no-launch'

To inspect the installer before running it, download it from https://termium.dev/install; its source is scripts/install.sh.

Run it

In a new terminal after installation, run this from any directory:

termium
termium example.com
termium --renderer sixel example.com

Options come before the optional address. --url remains supported. The server and browser start automatically. Use termium --doctor to check the installed runtime, browser sandbox on Linux, input, and screenshot capture without opening the terminal UI.

Install the development version

From a checkout with the contributor toolchain installed, one command builds, packages, validates, and installs it:

npm run install:local

This is a source-build command for contributors. A release recipient needs no Node, npm, Go, protoc, or Chromium: the installer supplies those runtime dependencies automatically. The platform archive includes Node and the Linux browser libraries/fonts; Chromium and Vimium download during installation. Subsequent launches use the installed copy, independent of the checkout or current directory.

The installer puts the command at ~/.local/bin/termium and sets up bash, zsh, and fish. Open a new terminal after running the contributor command if your current shell did not already have ~/.local/bin on PATH. The public installer opens the application immediately using the stable launcher. It cannot change an already-open shell’s PATH; if termium is not found there, use ~/.local/bin/termium or open a new terminal.

What setup does

Each normal launch uses a private Unix socket and a separate temporary Chromium profile. Browsing sessions are not persisted between launches yet.

If an update reports “Termium is busy”

The installer uses operating-system locks. A lock file left on disk is harmless once its holder exits; deleting it while a process still holds it can defeat update protection.

The lock path distinguishes two cases: .install.lock protects an installation in progress, and a version's .active lock protects a running session. Close sessions normally or let the other installation finish. On Linux, lslocks -o PID,COMMAND,PATH can help identify the holder. If the problem persists with no holder listed, save the complete error and lock path for a bug report; don't delete locks as a workaround.

Platforms and limits

Platform Bundle target
Linux x86-64 glibc with working unprivileged Chromium sandbox support; setup checks the required minimum
macOS Apple Silicon Native ARM64 bundle; tested through the macOS CI runner
macOS Intel Native AMD64 bundle; tested through the macOS CI runner
Windows (WSL2 x86-64) Linux x86-64 bundle, installed and run inside WSL2
Linux ARM64 Not packaged yet
Native Windows Later work

On Windows, open a WSL2 Linux shell in Windows Terminal (Preview), available from the Microsoft Store, and run the install command there. This setup is supported with Sixel graphics, and user reports confirm successful use. Stable Windows Terminal also supports Sixel. Termium runs as the Linux build inside WSL2; native Windows builds remain later work.

The installer tests the actual host rather than silently disabling security features when browser startup fails. Distribution policies can restrict sandbox namespaces, notably on Ubuntu. Ubuntu CI explicitly allows Chromium user namespaces through a targeted AppArmor profile on the disposable runner; installation does not change host policy. A green hosted-runner test is not certification of every stock distribution or macOS Gatekeeper configuration. Clean native-machine distribution testing remains part of release acceptance.

Updates and storage

Rerun the installer to update. Close running Termium sessions first; concurrent installers and active sessions are protected by locks. Failed validation leaves the current installation selected. Older versions remain available on disk; automatic pruning and uninstall are not implemented yet.

Application files live under ${XDG_DATA_HOME:-~/.local/share}/termium. TERMIUM_HOME can select another application directory; the command remains at ~/.local/bin/termium. TERMIUM_NO_MODIFY_PATH=1 opts out of shell integration for managed environments. All paths are user-owned; no system Node or browser installation is modified.

See Quickstart for your first page and getting started for controls and terminal support for renderer choices.

See GitHub Releases for version history. Edit on GitHub ↗