Skip to content

Terminal & Exec

KubeGlass includes a multi-session terminal built on xterm.js 6. Three session types are supported:

Terminal architecture: xterm.js in browser connects via WebSocket to Go backend session manager with pod exec, node shell, and local shell channels routed to Kubernetes API
TypeHow to openWhat it does
Pod execClick a pod → ExecInteractive shell inside a container (with picker for sidecars, init, debug containers)
Node shellClick a node → Shellnsenter into the node’s root filesystem
Local shellTerminal panel → +Local kubectl, helm, etc.
ShortcutAction
⌘`Toggle terminal panel
⌘TNew terminal tab
⌘WClose current tab
⌘⇧[ / ⌘⇧]Previous / next tab
⌘1⌘9Switch to tab N
⌘DSplit horizontal
⌘⇧DSplit vertical
⌘⇧EnterZoom/unzoom pane
Ctrl+H/J/K/LVim-style pane navigation

Press ⌘⇧B to toggle broadcast mode. Keystrokes are sent to all visible panes simultaneously. Useful for running the same command across multiple pods or clusters.

Press ⌘⇧R to start recording. The terminal captures every frame and exports to:

  • .cast - asciinema format for playback with asciinema play
  • .txt - Plain text transcript

Press ⌘F to search the terminal scrollback. Supports regex patterns and shows match count.

SettingOptionsDefault
Font size9–2413
Cursor styleBlock, Bar, UnderlineBlock
Cursor blinkOn / OffOn
Scrollback1,000 – Unlimited10,000 lines
Copy on selectOn / OffOff
BellNone, Visual, SoundNone
RendererWebGL, Canvas, DOMWebGL
  • Terminal sessions have an absolute 8-hour lifetime with a 5-minute warning
  • Pod exec uses Kubernetes impersonation - the user’s RBAC permissions are enforced
  • Session snapshots are user-scoped - each user sees only their own history