Skip to content
Germán edited this page Aug 20, 2026 · 16 revisions

superterm

superterm is a GNU/Linux terminal multiplexer written in Free Pascal. It provides a Turbo Vision-style window and pane interface while every visible pane remains a real PTY-backed terminal.

superterm showing four PTY-backed panes

The screenshot shows one workspace divided into four terminal panes. Each pane has its own process, terminal state, focus, and resize behavior.

What It Provides

  • Vertical and horizontal pane splits with focus navigation and mouse support.
  • Resize, maximize, minimize, restore, and close operations.
  • Local shell commands and SSH terminal definitions.
  • Named templates containing sessions, windows, pane layouts, and terminals.
  • INI templates and one SQLite database per template.
  • Automatic session save and restore.
  • A one-to-four-pane session wizard for quick workspaces.
  • English and Spanish application interfaces.

Start Here

  • Installation: install dependencies, configure, build, and run tests.
  • Usage: learn the controls, wizard, templates, and session lifecycle.
  • Configuration: define local terminals, SSH connections, and layouts.
  • Architecture: understand the PTY, screen, layout, and FreeVision layers.
  • Development: work on the source tree and run the regression suite.
  • Troubleshooting: diagnose build, configuration, SSH, and terminal issues.

Current Scope

The supported native platform is GNU/Linux, combining GNU userland and tools with the Linux kernel. The program uses POSIX PTYs, fork/exec, /proc, select, and the bundled FreeVision text UI. Windows would require a ConPTY backend and Windows-specific process and resize code. WSL is the practical way to run the current GNU/Linux build on Windows.

The current application owns its PTYs directly. It does not yet provide a detached server, Unix socket, or live client attach operation like tmux.

Security Notes

  • Prefer SSH keys or an SSH agent over passwords.
  • Keep configuration directories mode 700 when they contain credentials.
  • Do not put passwords in command lines or debug logs.
  • Treat postconnect and local command fields as shell commands under the configured login shell.

Clone this wiki locally