Single server, multiple users, each with his own virtual machine
Solution 1
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:
How To Install LTSP – Ubuntu 11.04
Solution 2
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)
Navaru
Updated on September 18, 2022Comments
-
Navaru over 1 year
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.
-
Admin over 12 yearsWell, setting up virtual machines with either Xen or OpenVZ is an option, but it sounds like you want something slightly different (Monitor, Keyboard, Mouse interactions over the network?)
-
Admin over 12 yearsYes, "Monitor, Keyboard, Mouse interactions over the network" this would be perfect
-
Admin almost 11 years@Navaru I would suggest you to install ESXi Server and on that server install ubuntu VM, after that just replicate it for as many times required to create multiple hosts and then just give the students remote access to those VM's. This can be done & I have it implemented in my company. so check on this if it works for you.
-
-
Navaru over 12 yearsThis should work well, but some thin clients are a little expensive, price range between $140-$280. There are a few cheaper options on alibaba, do you have some recommendations? Or what to look for when buying a client?
-
xynkrn over 12 yearsThe client doesnt have to be that expensive, the RAM doesnt need to be more than 512, and the processor doesnt even have to reach the 1Ghz. I participated on a project that implemented LTSP on public schools, and looking for donations is also another way to get the client PCs, many companies throw away good hardware pieces so you can approach them to.