Proxmox web console: xterm.js and noVNC in the browser

NexoVirt opens a console to any Proxmox VM or container in the browser. Containers and VMs with a serial port get an xterm.js terminal with copy-paste and resize, other VMs fall back to noVNC automatically, and the Proxmox login never reaches the browser.

In-browser console in the NexoVirt panel

What it does

An xterm.js terminal with a noVNC fallback, right in the browser.

  • Terminal first

    LXC containers and VMs with a serial port open an xterm.js terminal: crisp text, selection, copy-paste and resize.

  • noVNC when you need the screen

    VMs without a serial port open the graphical noVNC console instead, for example during an OS installer.

  • Serial console in one click

    VMs created by NexoVirt get a serial port automatically. For older VMs, "Enable serial console" adds one; it is active after the next reboot.

  • No credentials in the browser

    A one-time session and a WebSocket proxy on your own domain inject the Proxmox auth cookie on the server side.

  • Root shell on the node

    Admins open a root shell on a Proxmox node from its page, through the same proxy, and every session is audited.

Why not just use the Proxmox web UI?

Proxmox VE runs the virtualization. NexoVirt adds the layer around it. In-browser console, task by task:

TaskProxmox web UINexoVirt
Console for a customerNeeds a Proxmox user with rights on that VMWorks from the customer portal, no Proxmox account
xterm.js or noVNCYou pick per sessionChosen per guest automatically
Proxmox auth cookieLives in the browser sessionStays on the server, injected by the proxy

How to use it

Up and running in 3 steps, all in the panel.

  1. Open a guest and select the Console tab, or click Console in the guest list.

  2. The terminal connects through your panel's own domain. Type away.

  3. For graphical guests the noVNC view opens instead.

See it in the panel

Real screenshots from NexoVirt, with demo data.

In-browser console FAQ

noVNC, SPICE or xterm.js: which Proxmox console should I use?

Use xterm.js for text work on containers and on VMs with a serial port: it is fast and supports copy-paste. Use noVNC when you need the graphical screen, for example during an OS install. SPICE needs a desktop viewer such as virt-viewer, so NexoVirt offers xterm.js and noVNC, both in the browser.

Why does a VM open noVNC instead of the terminal?

The xterm.js terminal needs a serial port in the VM configuration. VMs created by NexoVirt have one. For older VMs, click "Enable serial console" and reboot the VM once.

Can customers open a console without a Proxmox account?

Yes. The portal console uses a one-time session and a proxy on your own domain. The Proxmox auth cookie stays on the server, and customers only reach guests they own.

Start running NexoVirt today

Free for homelabs with unlimited VMs on up to 2 nodes. Running a hosting business? Upgrade in place when you grow, no migration.