[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Introducing me and my project TCOS

Hi all.

I'm Mario Izquierdo from Valladolid, Spain. I'm a university student and
a free software business newbie.

I was talking by mail with Jose L. Redrejo (Extremadura, Spain) about my
thin client project, because of last Debian-EDU meeting in Extremadura
last weekend. He told me to explain better in this list.

TCOS (thin client operating system) [1] is a new project (more than one
year) that's born to fix some educational aspects of LTSP (or other thin
client implementations)

It's hard based on Debian (work on derivated distros too) and in a
simple intro phrase: makes boot images from server packages, files, and
kernels using initramfs-tools scripts (see scheme at [2])

TCOS generate 2 files, an initramfs with network minimal support and a
compressed (squashfs) /usr filesystem downloaded during boot (15-20 Mb)

This usr.squashfs filesystem contains Xorg bins and libs, alsa,
PulseAudio, VNC (server and client) and some other tools, it's NOT a
complete cdebootstrap instalation, only bins and linked libs.

Because of this, TCOS don't need an NFS server.

With thin clients with 38Mb RAM or lower this method don't work (not
enoght memory to download squashfs), I uncompress initramfs and
usr.squashfs in a exported NFS dir and works like LTSP but again not
complete chroot, only what thin client need to boot.

I think this method is better than ltsp-build-client because don't need
to build a complete chroot only get some server files and put into
image. When server update some packages only need to rebuild images
(10-15 secs process)

In adition I tried to make all soo simple, I have developed a frontend
to gentcos script (script who buils images) called TcosConfig [3]. It's
posible to configure many small settings.

The only thing you must configure by hand is a DHCP server but it's very
easy using package's doc and some info in wiki [4]

Another tool in TCOS is TcosMonitor, is a python-gtk app that connects
to every thin client and allow teacher to make some actions to them.
(similar to Thin Client Manager, Controlaula or iTALC)

TcosMonitor uses XMLRPC protocol, I have developed tcosxmlrpc, a simple
XMLRPC web server (write in C) that is exec in every thin client [5] 

* Why in C?
Because thin client don't have perl or python.

In python is soo easy (I'm a newbie) to make calls to thin client to
make a lot of things [6]

* Hey, in LTSP we are using lbuscd!!!
This tools only send devices events, tcosxmlrpc have more things...

We have 2 case situations.

1.- User mode

--- User sitting in front of thin client want to connect his USB stick.

TCOS insert a udev rule that logs "block" events in thin client, in user
session there is a systray app that look for this events and mount in
thin client the device and last (using LTSPFS) mount in a Desktop dir.
[7], screencast [8]

---- User wants to mute or change sound levels.

TCOS has another gui tool that when start retrieve all sound device
channels and allow to change them [9] using XMLRPC

In user mode, all apps are authenticated with X cookie. (in a same way

2.- Teacher / admin mode
---- Teacher want's to all pupils take atention and block all hosts, or
class finishes and want to reboot or poweroff all host in classroom.

With TcosMonitor he can do a lot of actions from his computer.

More screenshots of TcosMonitor: [10]

TcosMonitor use another auth mecanism: /etc/shadow (or passwd or
alternate file) in thin client.

All gui apps are translatable to any language (gettext) by default comes
in english or spanish.

We have developed a server LIVECD too, with a lot of things ready to
work only starting from this [11]. (Docs and interface are in spanish)

If anyone is interested in testing I can make another one in english or
other languages.

Things to do in this project.

1.- Try another time to put packages in Debian, we have self-made repos:

2.- Better support Standalone hosts (not only thin clients)

3.- Better documentation (I know that is very poor right now)

4.- Some promotion in not spanish sites.

Many thanks for your attention and sorry for large mail and bad english.

[1] http://www.tcosproject.org 
[2] http://wiki.tcosproject.org/TCOS/Introduction 
[3] http://wiki.tcosproject.org/Utils/TcosConfig 
[4] http://wiki.tcosproject.org/Install/Configure#Configure_DHCP_server 


[7] http://wiki.tcosproject.org/Utils/TcosDevices 
[8] http://www.tcosproject.org/tcos-devices-ng/ 

[9] http://soleup.eup.uva.es/mario/gallery/1/TcosMonitor-sonido-3.png 

[11] http://soleup.eup.uva.es/mario/post/1/566 

Mario Izquierdo

Attachment: signature.asc
Description: Esta parte del mensaje =?ISO-8859-1?Q?est=E1?= firmada digitalmente

Reply to: