Kalgoorlie Retro Docs

Documentation for the Kalgoorlie Retro BBS, its games and servers

User Tools

Site Tools


lanternterminal:sessions

This is an old revision of the document!


Lantern Terminal user guide

Theme

Choose Options → Theme → System, Light or Dark. Themes apply immediately and the choice is saved with your settings. System uses the desktop palette available when the application starts. These controls affect the application interface; terminal foreground/background/cursor colours remain session settings. The new-session wizard uses the same readable palette and shows the fields for its selected protocol.

SSH authentication and server trust

A password prompt appears only if the server offers password or keyboard-interactive authentication. If the error is Permission denied (publickey), choose an authorised private key under Session Properties → Connection → SSH2 → Private key / identity, or use your SSH agent. Trusting the server fingerprint does not authenticate your account. Accepted server keys are shared by the application profile and survive recreating saved sessions.

Connections

Choose File → Quick Connect for an immediate SSH2/SFTP/Telnet/raw/serial/local connection. File → New session walks through protocol, endpoint and name/folder. Saved entries are in the Sessions pane. Double-click an entry, or select entries/folders and choose Connect selected.

For SSH, supply the hostname, port, username and optionally a private key in Session Properties. Authentication and unknown/changed host-key messages appear in the terminal. Accept a key only after checking its fingerprint. The host-key database belongs to the current application profile. Tools → Manage host keys lets you inspect/import/export it.

SSH settings include jump hosts, agent forwarding, compression, algorithm preferences and local/remote/dynamic forwards. Forward lines use L|127.0.0.1:8080:target:80, R|127.0.0.1:8080:target:80 or D|127.0.0.1:1080. Forwarding only requests no shell. Trusted advanced OpenSSH options use one Key=Value line each.

SSH engine. Each SSH2 session uses one of two engines, chosen under Session properties → Connection → SSH2 → SSH engine:

  • Built-in (libssh) (default) handles SSH inside Lantern. The status bar shows the cipher, key exchange and MAC actually negotiated, and the connection state comes straight from the protocol. Host-key questions, key passphrases, keyboard-interactive and password prompts appear in the terminal; type the answer and press Enter (Ctrl+C cancels). Like OpenSSH it tries SSH agent keys first (on Windows, the Windows OpenSSH agent), then the private key you selected, then your default .ssh keys. It shares the profile's host-key file with the OpenSSH engine, so a key accepted by one is trusted by the other.
  • OpenSSH runs the system ssh program, with your OpenSSH client's full feature set.

A session that uses something the built-in engine cannot do yet (X11 forwarding, agent forwarding, extra OpenSSH options, or a proxy command on Windows) automatically uses OpenSSH and notes this in the Activity pane. SFTP sessions always use OpenSSH.

Local shells use a PTY on Linux and ConPTY on Windows. Serial connections use device paths or COM names and configurable baud/format/flow/break settings. Telnet negotiates terminal type and window size. Raw TCP passes bytes without protocol framing.

Profiles and settings

Right-click entries to edit, rename, cut/copy/paste or delete. To arrange sessions or folders yourself, select one entry and choose Move up (manual order) or Move down (manual order). This switches sorting to Manual and stores the current sibling order. Clear the filter before arranging entries. Choose Natural or Alphabetical in Global Settings to sort automatically again. Expanded folders and manual order survive restarting.

Select a saved session, then choose Create desktop shortcut… from its context menu, or File → Create session desktop shortcut…. Choose where to save the Linux .desktop launcher or Windows .lnk shortcut. The shortcut retains the configuration root and stable session ID, so renaming or moving the session does not break it. Your desktop may ask you to allow launching a new Linux desktop file. Removing the saved session leaves a shortcut that reports the missing session. Live filtering narrows the tree; a trailing / includes matching folders. Global Settings controls application behaviour. Default Session sets initial preferences for new sessions and offers explicit propagation of changed fields. Multi-selection editing changes only modified fields.

Options → Session properties edits the active session. Several transport settings take effect on reconnect; appearance/input options can apply immediately. Save active ad hoc settings with File → Save current session. If automatic saving is disabled, use Options → Save settings now to commit changes before exit. Global, session and invocation options use separate scopes.

Imports accept native JSON/XML and simple comma/tab text rows (name,host,protocol,port,username,folder). Use tabs for values containing commas. Import is previewed before applying and asks how to handle conflicting session names. Imported settings are merged with yours: commands, credentials, button bars and snapshots with the same ID or name are updated, everything else is added, and nothing is deleted. If the file contains anything that runs a program on your computer (proxy command, extra SSH options, pre-connect program, local shell, environment, logon script, launch-application or run-script commands, or a Python interpreter path), the preview lists each one and defaults to No. From the command line, –import refuses such files (exit code 3) unless –trust-import is also given. Export does not contain passwords or private-key bytes. Export does not contain passwords or private-key bytes.

Terminal

The terminal supports colour, Unicode, primary/alternate screens, cursor modes, line drawing, selection and scrollback. In Session properties → Terminal → Appearance, foreground, background and cursor colours each have a swatch and Choose colour… button. Select from the visual palette; entering a colour code is optional. Use Ctrl+Shift+C / Ctrl+Shift+V to copy/paste. Ctrl+C remains a remote interrupt unless Windows-style copy hotkeys are explicitly enabled. Shift+PageUp/PageDown scroll locally. Hold Shift to select locally when a remote application uses mouse tracking. Ctrl+mouse wheel changes font size.

Keyboard shortcuts. Lantern's own shortcuts use Ctrl+Shift so ordinary control keys reach the remote program: Ctrl+Shift+S new session, Ctrl+Shift+O Quick Connect, Ctrl+Shift+N local shell, Ctrl+Shift+F find, Ctrl+Shift+P print, Ctrl+Shift+W close tab, Ctrl+Shift+Q exit, Ctrl+Tab / Ctrl+Shift+Tab switch tabs, Ctrl+= / Ctrl+- zoom, F11 full screen. While a terminal has focus, every other Ctrl, Alt and function key (Ctrl+P, Ctrl+F, Ctrl+S, Alt+F, F1 …) is sent to the session, and a key mapped in the session's key mappings always goes to the session. Alt+1…9 tab switching is off by default; turn it on in Global settings → Terminal → Tabs.

Use the toolbar phrase box for temporary highlights, or configure permanent pattern/colour/regex rows under Terminal → Highlighting. Search with Ctrl+Shift+F. Clear screen, scrollback and reset are separate Edit commands. Hex View displays recent received bytes. Multi-line paste asks for confirmation at the configured threshold. Cancelling sends nothing; Edit → Cancel pending paste/send stops queued paced input.

Lock a session from File; choose a local unlock password. Locked sessions stay connected but hide their screen and reject scripted reads and broadcast input. Unlock restores the same session.

Tabs, groups and commands

Drag tabs to reorder within a group. Window menu commands create horizontal/vertical groups, collapse them, or move a tab to the next group. Right-click tabs for reconnect, clone, rename/reset, save and properties. Active Sessions lists open connections and supports selected disconnect/close/lock actions.

The Command window's destination selector is explicit: active, all, visible, or selected groups. Send submits text to exactly that scope; locked/disconnected tabs are skipped. Mark a group with Window → Send commands to this group. Group recipients have a leading asterisk in their tab labels.

Commands have labels, descriptions, folder, colour and a typed action. Script actions also accept a quoted argument list. Tools → New command/button adds one. Commands can send text, run Python scripts, launch a trusted local application, connect a saved session, or invoke supported terminal menu actions. Literal send strings recognise \r, \n, \t and \e.

Right-click commands or command folders to Cut, Copy and Paste. Copies receive independent IDs and preserve their exact action text and escapes. Paste uses the selected command folder. Cutting moves the existing commands only when you paste in the same application window; pasting into another instance copies them. Nothing runs merely because it is copied or pasted.

Choose Tools → Manage button bars… or Manage bars… on the button toolbar. Create, copy, rename or delete named bars; add/edit/remove buttons and move them up/down. A bar links to saved command definitions: editing a command updates every bar using that command. Removing a button or deleting a bar keeps its commands. Deleting a command removes its buttons from every bar. Copy buttons and Copy bar commands put action records on the clipboard so they can be pasted into Command Manager or another bar.

Right-click selected commands and choose Add to button bar to link existing actions to a bar. Paste commands in the bar manager creates independent copies of the clipboard actions and adds them in order. The toolbar selector chooses the active session's bar; without an active session it chooses the global bar. Use global bar follows the global choice, and No button bar hides action buttons. Use globally in the bar manager sets the global choice. Session Properties → Terminal → Buttons and Global Settings → Terminal → Buttons also offer the bar selector. Old single-bar configurations migrate to a bar called Default.

Save a named snapshot from File to retain session settings and tab-group layout. Manage snapshots to open, rename, duplicate or delete them. Snapshots are not remote process checkpoints.

Files and logs

Open an SFTP terminal from an SSH tab. Its interactive client supports help, ls, cd, lcd, pwd, get, put, recursive transfers, permissions and filename completion. Quote paths containing spaces. Use the Transfer menu for SFTP uploads or terminal text/binary sends.

Start, pause/resume and stop logs through File. Session Properties controls raw/text mode, filename templates, append, timestamps, line prefixes and rotation. %Y/%M/%D are date, %h/%m/%s are time, %H host and %S session. Raw logs preserve received bytes; text logs filter terminal escape sequences. Logging failures are reported without closing the connection.

The optional TFTP server starts only when chosen in Transfer. Configure upload/download roots, UDP port, overwrite and client-address restrictions in Global Settings. Use octet transfer mode. It rejects paths outside its configured roots.

Automation and help

Run Python scripts from Script, cancel them independently of the session, or record send actions into an editable Python file. See SCRIPTING-GUIDE.md for prompt matching and examples. Recording is a send-action skeleton and may need explicit waits before reuse. Recognised password/passphrase/PIN prompt entries are replaced by comments, but review any recording before sharing it.

Help → Features and capabilities lists included and unavailable compatibility features. Build instructions and the detailed specification are available offline. Help → About shows version and the exact configuration directory.

Saved-session launch commands

Use a saved session's stable ID, unique name or full folder/name. Repeat –open-session to open several sessions. An ambiguous name produces a message instead of selecting an arbitrary connection. The earlier –session spelling remains an alias.

lantern-terminal --open-session 'Work/Server'
lantern-terminal --config "$HOME/terminal-work" --open-session SESSION_ID
lantern-terminal --config "$HOME/terminal-work" --open-session SESSION_ID --create-shortcut "$HOME/Desktop/Server.desktop"

On Windows, use a .lnk output filename for –create-shortcut. A shortcut contains references and launch arguments, not saved passwords or private-key contents.

Back to Lantern Terminal

Reusing an unlocked SSH key

Select the private key (for example id_ed25519, without .pub) in the session’s key-file setting. To avoid entering its passphrase on each connection, load it through Tools → Add identity to agent… and verify it under Tools → Agent identities. The passphrase unlocks the local private key; it is separate from a server password.

Windows needs its OpenSSH Authentication Agent service running. If the agent reports “No such file or directory”, open PowerShell as Administrator and run:

Set-Service ssh-agent -StartupType Automatic
Start-Service ssh-agent
Get-Service ssh-agent

Then add the identity again. On Linux, use an agent provided by the desktop or start one in the environment that launches the application. Do not put key passphrases into automation scripts.

Back to Lantern Terminal

Connection state and tab reuse

“Reuse disconnected tabs” only replaces an idle disconnected tab. Connecting sessions and SSH password, passphrase or host-key prompts keep their own tabs when you open another session. The status bar shows Connecting…, Session open, or Connected as the connection progresses; Session open means the client is running while authentication confirmation is pending. Older Windows OpenSSH authentication messages are also recognised. Reconnect All skips active connections and pending logins.

Back to Lantern Terminal

lanternterminal/sessions.1794115595.txt.gz · Last modified: by slaterm