Ubuntu VMs: your own machine in the browser
Some things are only learned on a whole machine: installing packages, editing a config file in /etc, running a web server as a service and finding out why it will not start. A VM is an Ubuntu 26.04 machine of your own, with sudo, opened in a terminal in your browser. Break it and start again.
Anybody can try one at /vm with no account: it is ready in a few seconds and gone when it stops. With an account, open Build on the bar and choose Run an Ubuntu VM, and its disk is kept between visits.
What each person gets
With no account: 1 CPU, 1 GB of memory and a 4 GB disk, for up to 20 minutes, and nothing is kept.
With a free account: 1 CPU, 1 GB and a 8 GB disk, kept between visits. Each session runs for 60 minutes, and up to 2 hours while nobody is waiting for one, with 2 hours a day in all. You may keep 2 and run one at a time.
In a college: 2 CPUs, 2 GB and a 10 GB disk, kept between visits, with no daily limit. You may keep 3 and run 2 at once.
Using one
Press Start, then Open its terminal: you are logged in as student, with sudo and no password. If you leave the machine with exit, press Enter to go back in.
A server listening on port 80, 3000, 5000, 8000 or 8080 opens in your browser from the VM's card while it runs, privately: only you can open it, or a program sending the token shown on the card. Try sudo apt install nginx, then open port 80.
Stop and save keeps everything on its disk, programs you installed and files you wrote alike, and Start again brings it all back. A VM with no account is gone when it stops.
A saved VM that belongs to a free account and has not been started for 90 days is deleted, after an email 7 days before. Starting it once keeps it.
What a VM can reach
A VM installs from Ubuntu’s own package archive with apt. With an account it also reaches PyPI, npm and GitHub, so pip install, npm install and git clone work. Nothing else on the internet can be reached from a VM, by design: a free machine anybody can open must not be one that sends mail or reaches other people’s.
Two rules are for public VMs only, those of a visitor or a free account. One that keeps its processor busy for ten minutes with nobody typing in its terminal is stopped, and says why. And when the VMs are busy, one that has had its promised time already gives way to somebody waiting, and is saved as it stops. Public VMs also run at a quarter of a college’s processor weight, and no more than four of them run at once, a queued one waiting without holding anybody else’s up. A college’s own VMs are neither stopped for being busy nor asked to give way.
Questions people ask
- Is it a real machine?
- Yes: a virtual machine with its own Linux kernel, not a container, so systemd, services, users and the whole of /etc behave as on any Ubuntu server.
- Can a teacher set a VM for a class?
- Yes: a lab task whose kind is Ubuntu VM. Each student gets their own, set up by the teacher’s script, and the class list shows what each student changed.
- Can I run Docker in it?
- Not yet: a VM cannot fetch images from Docker Hub. For containers, use the Container tab, whose terminal has docker for its own services.
- Who can see what I do in it?
- Nobody else can open its terminal or its ports. Like any work kept on the platform, its saved disk is yours and goes to your deleted items when you delete it.