Remote Desktops
Full remote desktop environments power browser-based access to Linux GUIs, agentic computer-use workloads, secure browsing sessions, and disposable workstations. They're memory-hungry, security-sensitive, and often run in short, interactive bursts—making them a strong fit for microVM-based, scale-to-zero infrastructure.
Why run remote desktops on Unikraft Cloud
⚡ Instant session startups
MicroVMs on Unikraft Cloud boot in milliseconds, so a full desktop is ready the moment a user opens the link:
- No waiting for heavy VMs or container images to warm up.
- Sessions resume from standby in milliseconds when traffic returns.
🔒 Strong session isolation
Remote desktops run untrusted browsers, untrusted documents, and arbitrary user input. With Unikraft Cloud:
- Each desktop runs in its own VM, isolated by design.
- A minimal, single-purpose image reduces attack surface.
💸 Cost-efficient scale-to-zero
Interactive sessions are bursty—active for minutes, idle for hours:
- Desktops scale-to-zero between sessions, removing idle costs.
- Pay only for the seconds users actively spend in the session.
🤖 Built for automation
Computer-use workloads drive a real desktop the same way a human does:
- Expose a noVNC endpoint over HTTPS for browser or programmatic access.
- Spin up a fresh, disposable environment per task or per session.
Getting started
Remote desktops on Unikraft Cloud run faster, safer, and cheaper. From disposable browsers to a Linux GUI in a tab, you get instant scale-out and zero idle costs—without sacrificing isolation.
This guide shows you how to use noVNC, an open source Virtual Network Computing (VNC) client that runs in the browser, paired with a minimal Linux desktop and Firefox.
To run it, follow these steps:
-
Install the CLI and a container runtime engine (for example, Docker). Use the unikraft CLI or the legacy kraft CLI.
-
Clone the
examplesrepository andcdinto theexamples/novnc-browser/directory:
Code
Make sure to log into Unikraft Cloud and pick a metro close to you.
This guide uses fra (Frankfurt, 🇩🇪):
The UKC_TOKEN and UKC_METRO environment variables are only supported by the legacy CLI.
A noVNC desktop instance on Unikraft Cloud requires 4GB to run. Request an increase in the instance memory quota when you need more memory.
When done, invoke the following command to deploy this app on Unikraft Cloud:
The output shows the instance address and other details:
In this case, the instance name is vnc-browser.
The address is different for each run.
Open the provided address in a browser to reach the noVNC landing page. From there, click Connect to open the remote desktop, which ships with Firefox and a minimal Linux GUI.
At any time, you can list information about the instance:
When done, you can remove the instance:
Customize your deployment
The current deployment ships with Firefox, a tiling panel, and a small set of X11 utilities on top of Ubuntu.
Customizing the deployment means editing the Dockerfile to add the apps your users need, such as a different browser, an editor, or developer tools.
You can also adjust the screen geometry through the WIDTH, HEIGHT, and DISPLAY_NUM environment variables in wrapper.sh.
Anthropic's Computer Use Demo inspired this example, which works well as a sandbox for computer-use automation that needs to drive a real desktop.
Learn more
Use the --help option for detailed information on using Unikraft Cloud:
Or visit the CLI Reference or the legacy CLI reference.