Skip to content

# 🖥️ Web Console

The Web Console lets you interact with a VM's serial console directly from your browser — no SSH, no app window required. It uses xterm.js for full terminal emulation with ANSI colour support, connected over WebSocket.

## Requirements

- The CLI Server must be running (Settings → CLI → Enable CLI Server)
- The VM must have at least one serial port configured in Console mode

## Opening the Console

1. Open the Web Dashboard in your browser
2. Click any running VM card to open the detail panel
3. Scroll to the Console Ports section
4. Click Open Web Console next to the port you want

The console opens in a small popup window (720 × 520 px). Each serial port gets its own button and its own popup — you can open multiple consoles simultaneously.

## Terminal Features

Feature | Detail
--- | ---
Terminal emulator | xterm.js 5.3 — full VT100/xterm with ANSI colours
Scrollback | 5 000 lines
Keyboard input | Fully supported — type commands, use arrow keys, Ctrl+C, etc.
History replay | The last 64 KB of VM output is delivered immediately on connect, so the login prompt appears without waiting
Font | Menlo / Courier New, 14 pt

## Connection Status

A status badge in the toolbar shows the current state:

Badge | Meaning
--- | ---
Connecting… (amber) | WebSocket handshake in progress
Connected (green) | Live session — output and input are flowing
Disconnected (red) | Connection dropped unexpectedly — auto-reconnects in 3 seconds
VM stopped (red) | The VM was shut down — the connection closed cleanly and will not reconnect

## Multiple Connections

Several browser tabs or devices can connect to the same serial port at the same time. All connections receive the same VM output independently; keyboard input from each connection is forwarded to the VM.

## When the VM Stops

When the VM shuts down or is stopped from the dashboard, the console displays:

    [Connection closed — VM stopped]

The connection closes cleanly and the console does not attempt to reconnect.