Skip to content

Configuration

Germán edited this page Aug 20, 2026 · 7 revisions

Configuration

Configuration Files

There are two configuration roles:

  • ~/.superterm/superterm.ini stores user preferences such as language, autosave, and default template/session/window selection.
  • $SUPERTERM_INI, or /etc/superterm/superterm.ini when unset, stores terminal definitions and INI templates.

They may be the same file for a personal installation:

export SUPERTERM_INI="$HOME/.superterm/superterm.ini"

The application creates ~/.superterm automatically. Use mode 700 for this directory when it contains credentials.

User Settings

[autologin]
shell=/bin/bash
login=1

[ui]
language=en

[session]
autosave=1
autorestore=0
default_template=daily
default_session=remote
default_window=production

language accepts en or es. Set autorestore=1 to restore ~/.superterm/session.ini when no template takes priority.

Terminal Definitions

Terminal sections must begin with t:

[t-production]
name=production
enabled=1
type=ssh
host=prod.example.com
user=alice
port=22
key=~/.ssh/id_ed25519
scrollback=20000

[t-local-monitor]
name=local-monitor
enabled=1
type=local
shell=/bin/bash
cmd=watch -n 2 uptime
cwd=/tmp

SSH fields include host, optional user, port, key, password, and cmd. Password authentication requires sshpass; an SSH key or agent is strongly preferred. Local fields include shell, cmd, and cwd.

Templates

A template defines sessions, windows, layouts, and panes:

[template.daily]
name=daily
enabled=1
default_session=remote
sessions=remote

[template.daily.session.remote]
enabled=1
focused_window=0
windows=production

[template.daily.session.remote.window.production]
enabled=1
layout=V:500;L;L
focused_pane=0
panes=prod,logs

[template.daily.session.remote.window.production.pane.prod]
enabled=1
terminal=production
postconnect=tmux new-session -A -s production

[template.daily.session.remote.window.production.pane.logs]
enabled=1
terminal=local-monitor

postconnect is passed as the remote command for an SSH definition. layout=L means one pane. V places panes side by side and H places them vertically; the ratio is in the range 0..1000.

layout=V:500;L;L

SQLite Templates

Use SQLite storage with:

[storage]
backend=sqlite
directory=templates

The directory is resolved relative to the configuration file. Each *.db file is one template database containing metadata, sessions, windows, and panes tables. INI is easier to edit by hand; SQLite is useful for generated or managed profiles.

Clone this wiki locally