Friday, September 28, 2012

Thinning A Thin Client

I've moved to my next major project:  Merging the HP updates into our thin client infrastructure.  We have been running the Debian Lenny based OS now for a few years and in the last few months they released one based on Ubuntu 10.04LTS.  Our Xorg drivers are getting crusty and there are certain video goals that I hope are solved:

- There are some bad video issues related to using Google Earth on ATI and dual screens, especially the newer version
- I'd like to tinker with supporting side by side landscape and portrait monitors, along with hopefully being able to support three and four monitor configurations

The default build from HP in my view runs in a way that gives thin clients a bad name.  Too much software is running locally, so you end up with an underpowered fat client.  Firefox running locally on this hardware is not exceptional and when you have flash and java at the desktop that means you have to do lots of updates.  Host based Firefox is much faster, and when run on the newer 5745 runs faster than many PCs.  Flash video is very fast and frame rates are high and audio works great. You never have cold starts of software, and things like LibreOffice open in 2-3 seconds.

Through the years I have put all of our custom scripts and code into /opt/local; they're all bash, python and glade so they easily run on operating system changes.  The steps to upgrade operating system are not terrible.  I install it as shipped from HP on the 5745, and then set up an icon to run xterm and begin hacking.  On Ubuntu the whole /etc/rc2.d startup infrastructure has been moved to the newer /etc/init directory.  So after a bit of Googling on how that works, I was able to remove the HP specific changes which brings up their custom desktop to run local software.  They don't have full Ubuntu installed, and one piece that was missing was the NFS mounting packages.  So I had to transfer that via USB stick and was able to mount one of our drives.  That is now allowing me to transfer tarballs and packages.  It's booting to the character login in about 10 seconds and I have been able to use some of the scripts to log into our servers and things look good.  Now I need to install all of the packages required for our scripts; glade, python and so on.  I was able to get pulseaudio install and sound is working well.

Once this is working on the 5745 workstation, I'll clone it and install it on the 5725 and install the necessary modules and libraries for that hardware.  Then we'll go through a  beta testing period to make sure all of the drivers are working as expected.

In the shot below I have connected to the server (by hand, no UI yet) and gave Flash and pulseaudio a good shakdown.  Everything looks great so far.

Internally we are labeling this release version "3.0", and I have written on the whiteboard my initial wish list of design goals based on user demand and basic technology advancements:

+ Support for 3 or 4 monitors
+ Support for HP 5745 PCI expansion bay
+ Skype 4 (running locally so that it can use local hardware)
+ Feature to allow email of documents off USB sticks without them first going to the server
+ FreeRDP to see how it compares in speed to RDesktop; we'll deploy the best one.
+ Better user interfaces after boot, more modern designs
+ GNOME-Shell testing
+ NX 4.0 client install and testing. Awaiting kiosk mode for this software to hide certain pieces from the end users
+ Consideration of users that take photos with phones -- do we mount them automatically like a USB device?  Lots of users use the USB port for charging only; pondering
+ Touch screen support for some POS software packages around the City.
Happy Friday

No comments: