aazir :
davec80 :
Well...if you are good with linux, you could run multiple virtual machines off of one CPU. In theory, you could map out keyboards, mice, monitors...one set to each virtual machine.
Isn't there any software that can do this with windows.
Technically there is no reason why you can't do this. It's possible to do it under Linux, you just have to keep straight which input/monitor goes where and configure it properly.
The problem with doing it under Windows is the Microsoft limits the desktop versions of Windows to a single user at a time. If you've ever used Remote Desktop Connection, you can see this in action. Login as a user on computer A. Then on computer B, use Remote Desktop Connection to login to computer A as a
different user. The moment you do this, the user physically on computer A gets booted off to the login screen. Only one person is allowed to be logged into a Desktop Windows computer at a time.
To simultaneously run multiple users on a single Windows computer, you need Windows Server and as many CALs (client access licenses) as there will be people logging in simultaneously. A CAL costs pretty much the same as a full copy of Windows (never mind the cost of Windows Server), so this is kinda pointless if you were hoping to save money by having two people simultaneously use one computer. Companies like to do it because it's easier for IT to manage (upgrade Office on one box and all the CAL users get the upgraded version).
If you want to do this under Windows, practically speaking the best way is with a second computer and a virtual machine. The second computer doesn't have to be new or any good. It's not going to be running anything except Remote Desktop Connection. Even something from 2000 with 128 MB of RAM running XP should work (though I'd suggest a modern netbook with VGA or HDMI out). It just needs to run XP and have a network card. Call this computer B.
Computer A is the one you want to share. It's a modern system, dual or even quad core with lots of RAM, and on the same network as computer B. Install VMWare Player or VirtualBox on computer A. Then install a Windows 7 (or XP, your choice) as a virtual machine. Call this VM computer C. Give it roughly half of computer A's RAM, and configure the virtual HDDs or shared folders as you like. Then enable Remote Desktop connections on computer C.
So the first person will use Computer A. The second person will sit at computer B, but start up Remote Desktop Connection to connect to (virtual) computer C. Everything he does will be on computer C (which is really A). The only thing computer B is doing is running remote desktop connection (which is why an old computer will work just fine).
If you really want to scrimp on computer B, you can use VNC instead of RDC. Then computer B can be an ancient system with just 16 MB of RAM running a light version of Linux. Install a VNC server in computer C (VirtualBox has one built in, which will let you even reboot computer C over VNC), and connect to it with a VNC client on computer B. I just recommended RDC because in my experience it's a lot smoother.