Single server, multiple users, each with his own virtual machine

Our school system has a low budget to update our computers, so I've thought maybe I could buy only one server (a powerful one) and hookup 30 students to one server.

On the server should be 30 Ubuntu virtual machines, each controlled by a different keyboard and mouse + individual monitor.

I've looked over the internet but couldn't find no simple solution, some say you can't some say you could if blablabla on Windows, but I want to run it on Ubuntu.

Could someone point to some docs or solutions if you know, we would greatly appreciate it.


A good solution is to use LTSP (Linux Terminal Server Project), here is a quick definition from Wikipedia:

Linux Terminal Server Project (LTSP) is a free and open source terminal server for Linux that allows many people to simultaneously use the same computer. Applications run on the server with a terminal known as a thin client (also known as an X terminal) handling input and output. Generally, terminals are low-powered, lack a hard disk and are quieter than desktop computers because they do not have any moving parts.

Briefly, LTSP allows clients to use the resources of a more powerful server computer. The client computer needs a keyboard, mouse, monitor and a network card.

You will find many tutorials in the red, here are some to get started:

UbuntuLTSPLTSPQuickInstall

How To Install LTSP – Ubuntu 11.04


You can't physically connect 30 monitors to a single machine. Which implies the student machines need to be some stripped-down computers - i.e. diskless, booting via network from the server, low RAM etc.

In this case you can use standard remote login - i.e. each user has a user account (not a virtual machine) and open a remote X session when logging in.

Network transparency was sort of a design goal of XWindow, which was designed exactly for this sort of situation.

(also, as a note - 30 separate virtual machines would have quite an overhead in terms of RAM, even idle, while with separate user accounts you could get away with much less powerful server. If necessary, it still will be possible to start VirtualBox in a user account)