I want to build such a system. I have one new desktop (server with 8 core CPU, 8Gb of RAM and HD7770 GPU) and two clients (old desktop and old laptop) connected using gigabit network. I want to make server act like some terminal server for client PCs. For example, I want to play 3D game on my old laptop while old desktop is being used to browse web or watch video at same time (i.e. full independent experience on each client). All machines will run Ubuntu.

I'm not sure whether should I use several X11+VNC sessions on one host OS or use some virtualization technology to run two different guest OSes for clients on the server or may be other way. Can you please suggest me some solution?

Note again, that the requirement is running heavy multimedia apps, that require full-resolution full-color motion picture (at >30fps), sound and lagfree mouse/keyboard input transferring over a network.
Sorry for my poor English please.

  • Playing 3D games over VNC will most probably never be much fun. And if you want independent experience VNC is not the right choice anyway. What you could do, is to use the server to store the home directories, mount them via NFS on each of your old machines. – Nodebody Aug 26 '13 at 9:48
  • @Nodebody thanks for the answer. Storing home directories doesn't solve the main problem: the computing power of server machine needs to be shared among old (and weak PCs). – xmichael91 Aug 26 '13 at 10:18
  • Sorry, I started writing a comment, but it got longer... so now I put it in an answer, still containing the NFS mounting idea, anyway, I hope there are some useful ideas in it. – Nodebody Aug 26 '13 at 10:27

To use your server's computing power on the old machines, log on from the old machine using "ssh -X" from a terminal and execute the program. That will forward the X output to your old machine using the local X-server while using your server to do the computations. You can of course write scripts to execute often used programs. And to avoid typing your password all the time, you should add your public ssh keys to the servers known_hosts. That should work fine for browsing the web, etc.

Heavy multimedia stuff and playing 3D games doing this will most probably still not be too much fun and not guaranteed to be lag-free (quite the contrary, actually) and forwarding sound is not even included, yet. For watching video or listening to music, you could set up streaming servers on your server and then connect from your old client machines, but that will still use your old machines computational power to decompress the (mpeg-)stream.

Anyway, to use more of your server's hardware I'd then go on exporting the home directory on the server using NFS and mount them on your old machines. And then continue by using nis/yp to synchronize the accounts over all of your machines.

I promise, that will be exciting, but for your requirements, maybe buying a couple of SSDs and some more RAM for your old machines will do the trick better.

So, this is not really a solution to your requirements, but maybe gives you some ideas where to look further or maybe to adjust your requirements and change the setup of your systems. For example, I'd highly recommend to do heavy multimedia stuff and playing 3d games directly on the server, while using the old machines for browsing the web, remote controlling the server, playing music and especially non-multimedia applications.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.