Remote console
The Console menu on the server page opens a console in its own window, sized for it: the KVM console (screen, keyboard and mouse through noVNC), the serial console (Serial-over-LAN in a terminal) and the BMC web interface (the BMC’s own UI, already logged in). Opening the same console again reuses its window. If the browser blocks the window, a dialog offers the link instead; allow pop-ups for the panel to skip it.
Every console starts with a one-time token: valid for 60 seconds, used once, bound to you, the server and your IP address. The console window works without a panel session, so the same link works for consoles started through the API (e.g. from WHMCS).
The console window
Section titled “The console window”The bar at the top shows the server, the connection state and the last known power state, and has:
- Keys: Ctrl + Alt + Del, Ctrl + Alt + F1 / F2, Alt + Tab, Esc, F2 (BIOS setup), F11 (boot menu), F12 (network boot).
- Clipboard: Type text sends the text as key presses — this works everywhere, also in the BIOS, installers and BMC consoles that have no clipboard. Send to clipboard puts it into the remote clipboard (VNC). Text the server copies shows up below.
- BMC login: the BMC account the console logged in with, for when the automatic login fails (only when the IPMI device allows it, see below).
- Settings: scaling (fit to window, resize the remote screen, 1:1), view only, quality, compression and a dot cursor. They are kept in your browser.
- Fullscreen and End session.
When a session ends
Section titled “When a session ends”A session ends when you click End session, when you close the window, and when the console on the server side ends — for example when the BMC’s Java console is closed or the BMC drops the connection. The window then says why. When a session ends, TrixOS stops its viewer, logs out of the BMC and deletes a temporary BMC user of the session. A session open longer than 8 hours is ended by the watchdog; the window says so. If the control panel restarts during a session, the session is ended on the next start and its temporary user is deleted then.
How the KVM console works
Section titled “How the KVM console works”When the BMC offers plain VNC, the window talks to it directly. Otherwise TrixOS starts a throw-away viewer container for the session: an X screen with a browser (and Java, when needed) that logs in to the BMC and opens its console; the window shows that screen. Only the BMC can be opened in that browser, and in KVM sessions every request that could change BMC settings is blocked.
Per server, under Configuration → IPMI device:
- KVM console: Auto opens the BMC’s HTML5 console; a Java console the BMC page starts still opens. Java
fetches the BMC’s Java console (
.jnlp) right after the login and starts it — for BMCs without an HTML5 console (older Supermicro, iDRAC 6/7, iLO 3/4). Closing the Java console ends the session. - Java version: Java 8 (what Auto uses; nearly all BMC Java consoles were built for it), 11 or 17. The viewer accepts the old, often self-signed or expired signatures of these consoles; with Fake date set, Java runs at that date as well.
- Console web browser: Chromium, or Chromium + legacy TLS for BMCs that only speak TLS 1.0 / 1.1 (iLO 2/3, iDRAC 6, old Supermicro firmware), which current browsers refuse. A bridge inside the viewer then talks to the BMC with the old protocol. SSLv3-only BMCs are not supported.
The viewer image has to be rebuilt after an update that changes it: docker compose --profile tools build kvm-viewer.
Which BMC account the console uses
Section titled “Which BMC account the console uses”Admins’ consoles always log in with the account stored for the IPMI device. For customers, Console account for users decides:
| Setting | Customers’ consoles log in with | BMC web interface for customers |
|---|---|---|
| Stored account (default) | the stored account | no (admins only) |
| Temporary BMC user per session | a new BMC user, created for the session and deleted when it ends | yes |
| Client account | the client IPMI account (users icon of the IPMI device) | yes |
Temporary BMC users (IPMI devices): when the console connects, TrixOS creates a user named trixos… in a free
user slot of the BMC (never slot 1 or 2) with the Web user privilege — User, Operator (default) or
Administrator — and logs the console in with it. When the session ends, the slot is disabled, its password scrambled
and its name cleared; TrixOS only touches the slot if it still carries that name. Creating BMC users changes the BMC,
so it is guarded like every destructive action: not on protected servers and only when TrixOS runs in live mode
(TRIXOS_ALLOW_DESTRUCTIVE=true); otherwise opening the console says why. Every creation and deletion is in the
audit log. The LAN channel is 1; a BMC that uses another one gets lanChannel in its options.
Login details in console decides who may see the session’s BMC login in the console window: hidden, admins (default) or admins and customers. Customers never see the stored account — only a temporary user or the client account. Every look at it is logged.