Thursday, November 01, 2007

Local Apps 2: The Next Morning

Well, now that the affects of the Woodchuck Draft Cider and Smuttynose Shoals Pale Ale (thanks Eric!) have worn off, perhaps a further expansion of my worse-than-average typed blog posting of last night can be expanded upon.

Localapps, for those uninitiated with LTSP lingo, is the idea of running an application down on the thin client itself. Normally, once you log into a thin client, your session exists on the server, and you do all the work ON the server. So, if you have a classroom full of kids, say 30, running Firefox, you have 30 instances of Firefox running on the server. If you have 30 kids watching videos in flash, you have 30 instances of Firefox and flash running on the server.

Ouch is right.

What you'd really like to have the option of doing, if you have beefy enough thin clients, is run the Firefox + flash down on the thin client itself. The problem is, your thin client has no concept of who it's user is: that's all up on the server. Name Switch Services, home directory, plumbing, etc. All has to come from the server, and it's all a bit of a bear to set up. ("What do you mean I need to get LDAP going? What's an LDAP?")

However, we've come up with a cool little method (ltsp-localapps spec on Launchpad, for those interested) that allows us to do it with a bare minimum of fuss, muss, and bother.

So, armed with beverages, thin clients, laptops, and a general sense of merriment and excitement, 4 intrepid LTSP hackers set off to get it going on All Hallow's Eve. Eric Harrison, Francis Giraldeau, Stéphane Graber, and myself hacked for a couple of hours, and got it going. First app launched was Xclock, closely followed by Firefox! Not satisfied with this major victory, we decided to push on, and installed flash in the chroot. After some futzing around, (Stéphane realizing that we needed to add the user to the audio group on the thin client itself), we were watching videos on YouTube. On the thin client.

For posterity: first video watched was Wierd Al Yankovic's "White and Nerdy", what else? At one point, we were playing 2 simultaneously! All this on a 900mhz thin client with 256 megs of ram. Not too shabby.

13 comments:

Jussi Kukkonen said...

> All this on a 900mhz thin client with
> 256 megs of ram. Not too shabby.

Hey, I take offence on that... 900Mhz and 256MB described my main desktop machine until a few weeks ago. Machine like that is entirely capable of running a modern desktop environment and a few apps. Sure, you should remove unused services and compiling code or using openoffice is still a bit annoying but it's fine for everything else...

Unknown said...

This is very nice, but what would be optimal is to combine the processing power of all thin clients (and the server) to run applications so it can be used where needed. A sort of grid computing. Would this be possible?

Unknown said...

So ... where is it?!?

No really, we're really anxious to get this running so any pointers to get us started wpuld be great

Scott Balneaves said...

Wouter: Sure, it's possible. Not something *I*'m interested in writing. However, if you'd like to send me patches, I'll certainly merge 'em.

Ronald: Well, we just hacked it together LAST NIGHT, so, it'll be a week or two before we get it to a point where it's workable by the general public. Most of the work will be done in Ubuntu Hardy and Debian Sid, so watch them for updates.

dotwaffle said...
This comment has been removed by the author.
dotwaffle said...

Wouter and Scott:

I used to be involved with ClusterKnoppix, and haven't touched it for a while.

However, the lessons I've learnt are:

"Google with the right search terms and ye shall find what ye were looking for. Shiver me timbers."

This look right?

http://www.k12ltsp.org/ltsp-om5.html

Scott Balneaves said...

DotWaffle:

Yep, if you use google, you can find just about anything!

http://sourceforge.net/forum/forum.php?forum_id=715406

Unless someone can point me to a redaction. The OpenMosix patches don't work against modern 2.6.2x kernels, afaict

Scott

Scott Balneaves said...

http://sourceforge.net/forum/forum.php?forum_id=715406

Even :)

nanday said...

Scott:

I'm a contributing editor at Linux.com, and I'm interested in doing an article about localapps and what it means to LTSP.

Could you contact me at bbyfield (AT) axion (DOT) net?

Thanks,

Bruce Byfield

Moody said...

Guys this is huge! Excellent work! I am running an edubuntu system for our local public library. We have about 20 clients. Since videos are getting more popular, the thin clients are a real problem for users. Local apps is going to solve a big problem.

We are running gutsy edubuntu. I am hoping that I can integrate the local apps capability into gutsy soon rather than wait for heron. We could be a test bed for the capability if that would help.

Any way, thanks for all your hard work.

Anonymous said...

Free Online Games totally free online games

Unknown said...

Any news on this yet? I REALLY need this to switch from xp to edubuntu 8.04

Craig Ringer said...

I've been using LTSP since the 3.x days, but never used local apps.

After upgrading my terminal server and clients to Lucid (ubuntu) I thought I'd give it a go.

Wow. You folks have done an incredible amount of work to make this smooth and basically perfect. It "just works" complete with details like drag and drop between local and remote apps. Begone from my server at last, foul Flash!

I thought I'd say thanks, and express just how amazingly smoothly all the LTSP stuff works these days. It's a far cry from how I started out, buiding my own custom thin client boot image from a hacked-down debian something-ancient before moving over to LTSP3...

Re local apps, there is still one big thing missing (at least on the Ubuntu implementation): printing. Everything else works out of the box. You probably don't print, and I sure don't, but wow users certainly do. I'll pop something on ubuntu's launchpad, as it's trivially addressed by dropping in an appropriate /etc/cups/client.conf .

Except for badly behaved apps there's barely any need to run things on clients these days, though, especially as gtk seems to be lightning fast over the network as of 2.20 .