LTSP? Putty/Xing? Virtual box?


10 posts
by morphy_richards » Fri Jan 25, 2013 7:37 pm
I recently "inherited" a legacy HP Prolient server.
I set this up initially as a server for Moodle, but in it's current incarnation I am using it as a Samba server so that I can make strict controlled storage conditions for student's controlled assessment work.

I had been delivering some KS3 computing lessons using Virtual Box and Debian Squeeze configured as "stand alone computers" on our RM maintained Windows 7 computers which was fine but had the drawback that I have to maintain each computer as a stand alone system and administer accounts etc which isn't ideal.

Then it struck me that I can use the server as a ... server!

I am now experimenting with the best way to allow students remote desktop logins to this server, including proper access to something like LXDE.
Putty and Xing work okay on the windows 7 computers but I cant run LXDE over Xing, just individual x porgrams, so that's not quite the experience I'm aiming to give my students.

My next thought was to use my Win7 machines as dual boot thin client using LTSP. I have installed this and did ltsp-build client. I now have an i386 directory which looks like it should be bootable on the server but not sure what to do with it from here. My idea was to put it on a USB and have the PC's bootable from it..?

My other idea is to use the already installed virtual box as a terminal server somehow, but again not sure where to go with that just yet.

Up until now I've only really made local Linux installations, so using Linux "properly" is all a bit new.

All thoughts / suggestions gratefully received.
User avatar
Posts: 870
Joined: Mon Mar 05, 2012 3:26 pm
Location: London
by morphy_richards » Sat Jan 26, 2013 9:00 am
Im thinking continue to use the server as samba server and application server, then use the virtual machines on the Windows 7 computers as X workstations.
This is helpful
http://www.tldp.org/LDP/LGNET/issue27/kaszeta.html
LTSP is great but makes a hard diskless pc look for the i386 boot folder on the server via its NIC and isn't right for what I'm trying to achieve at the minute. Might come in handy to have it at some point in the future.
User avatar
Posts: 870
Joined: Mon Mar 05, 2012 3:26 pm
Location: London
by Max » Sat Jan 26, 2013 2:06 pm
morphy_richards wrote:My next thought was to use my Win7 machines as dual boot thin client using LTSP. I have installed this and did ltsp-build client. I now have an i386 directory which looks like it should be bootable on the server but not sure what to do with it from here. My idea was to put it on a USB and have the PC's bootable from it..?


No need for USB or any kind of storage on the clients.
Just enable "PXE network boot" in the BIOS of your clients, when you want to use LTSP.
A lot of BIOSes also have a key combination (e.g. F11) you can press on boot to make it boot from the network just once, without having to make persistent changes to the boot order.


All that is necessary to set this up:

  • put the LTSP clients on a separate Ethernet switch that is only connected to the LTSP server. (PXE booting from the network uses the DHCP protocol, and if you have an Internet router that acts as a DHCP server on the same switch, that may conflict).
  • make sure your LTSP server has 2 network cards. One connected to the switch the LTSP clients are on, and one connected to your normal network/Internet.
  • install Edubuntu on the LTSP server. Simply check the "LTSP box" during installation, and select the network card that is connected to the LTSP switch from a dropdown box. Then everything will work out of the box. See screenshot on: Setting up Edubuntu as LTSP terminal server

In addition to using PCs as clients, you can also use Raspberries with Berryterminal.
(that does require that you install Berryterminal to a SD card, as the Pi cannot boot from the network directly, unlike normal PCs)
by morphy_richards » Sun Jan 27, 2013 8:12 am
That sounds like an ideal configuration, thanks for that Max. Sadly beggars can't be choosers and I am currently stuck with an RM maintained windows network. It's a wonder that their technicians have allowed me to piggyback my server on their network at all.
Space requirements mean that I can't have X terminals AND windows machines AND two wired networks.
Perhaps one day in the future , but not yet.
The school in general and my department do need Windows too in my rooms.

Hence my interest in either dual booting or virtualising them into Windows or terminal mode.
User avatar
Posts: 870
Joined: Mon Mar 05, 2012 3:26 pm
Location: London
by morphy_richards » Thu Jan 31, 2013 1:17 pm
Funnily enough this thread , which I hadn't noticed resurrected shortly after I started this one: viewtopic.php?f=62&t=18832 which is more or less the same thing as this one.

xMing is fantastic for connecting to a Linux application server in schools. You don't even need to use Putty! It simply creates an X graphics server on your windows computer which your Linux applications server can happily work with.

Configure your server as described in this blog here: http://udogspot.blogspot.co.uk/2009/02/ ... ndows.html

Get Xming installed on your school Windows computers. Or better still get it installed on just one computer, do all the setting up and then copy the image to all your other computers.
Run the X Launch tool in Xming and configure it to connect to the ip address of your server and "run a program" :such as "startlxde"

(The blog linked above suggests startkde, however this is a bit too graphically intensive and running over a network is just about acceptable. startlxde runs beautifully!)

Dont enter any user credentials and students will be prompted for their own logins.

Now save the session for this. Remove any shortcuts to Xming and only allow students windows logins access to the saved Xming session file, ie. put this in a shared folder (stops them fiddling with session settings and potentially doing bad stuff, like hacking into the pentagon)

Now, you can create a bash script to autogenerate users / groups from a csv file. I've also created samba accounts with the same credentials so that students can also access their files on the server from a windows file manager.

So now, I have got, in addition to (boring) maintained windows computers, a proper thin client linux network and complete control over user accounts. I can do proper computer science and programming and I've got access to Open Office, GIMP and everything else. You have no idea how empowering that actuially is! :D

At the moment have only tested it with one user (me), my server currently only has 2 gig of memory but I've got 8 gig on the way.

Once that's in I will test it with a full class of 30 kids , but I've got a good feeling.
User avatar
Posts: 870
Joined: Mon Mar 05, 2012 3:26 pm
Location: London
by morphy_richards » Fri Feb 01, 2013 10:25 am
Logging off is a problem in xming.

The logout instruction / button on the remote desktop doesn't seem to do anything ...

kill -9 -1 ends the terminal session in a rather spectacular way so I think something like that would be useful. I can probably make a logout widgit thing that uses it but ... -9 is kill with extreme prejudice. Would kill -6 -1 end the session in a better way? Or something like that anyway ...

edit - to answer my own question. Yes it would. :)
User avatar
Posts: 870
Joined: Mon Mar 05, 2012 3:26 pm
Location: London
by morphy_richards » Sun Feb 03, 2013 2:36 pm
Next trick will be to make sure that when students are logged in and connect to the internet, their access is filtered. The filtering under Windows happens because their browsers are forced to connect through a proxy. I need to make sure the same happens under Linux. I'm thinking the best (easiest) way would be to make the Linux server see the proxy server as its network gateway. :?
User avatar
Posts: 870
Joined: Mon Mar 05, 2012 3:26 pm
Location: London
by morphy_richards » Mon Feb 04, 2013 3:33 pm
Frustratingly it's relatively easy to make sure any command line apt-get type things get directed through a proxy in order to ensure that internet access is filtered. However GUI aps are an entirely different kettle of fish.

The strategy outlined in the last post successfully prevented apt-get from installing anything new but any user with a web browser is still perfectly able to access facebook. (ie. is not filtered at all)

Now looking into "squid" - it looks a little bit complicated (by complicated I mean "I have no idea what I am doing")
http://www.debianhelp.co.uk/squid.htm
User avatar
Posts: 870
Joined: Mon Mar 05, 2012 3:26 pm
Location: London
by morphy_richards » Mon Feb 04, 2013 3:48 pm
Just came across a real gem!

SquidGuard!
http://wiki.debian.org/DebianEdu/HowTo/SquidGuard

Effective internet filtering.
User avatar
Posts: 870
Joined: Mon Mar 05, 2012 3:26 pm
Location: London
by morphy_richards » Tue Feb 05, 2013 3:56 pm
Mental note. Doing "kill -n -1" when you are su root is not ... good ... :oops:
(where n is any number from 6 (politely ask to stop) to 9 (murder))
User avatar
Posts: 870
Joined: Mon Mar 05, 2012 3:26 pm
Location: London