A few more things to the sections further down worth mentioning...

Michael Stibane schrieb:
> # I just sent this to the developer list which is, I just noted afterwards,
> # read only ... d'oooh - sorry. So once again at this place:
> 
> Hi!
> 
> I'm writing an article about OpenThinClient for the german Linux
> Intern magazine (Data Becker, issue 04/08 or 01/09).
> 
> Since the docs lack the "Boot process demystified" part I digged a bit
> into the directories and came up with this text:
> 
> ----------
> Kasten
> Technik unter der Haube
> Für das Funktionieren von OpenThinClient ist der JBoss
> Applikationsserver zuständig. Mit dieser Software bauen die Entwickler
> diverse Netzwerk-Dienste nach, die für eine Thin-Client-Umgebung
> unerlässlich sind. Welche das sind, lesen Sie aus den Dateinamen im
> Unterverzeichnis server/default/data/nfs/root/deploy/ ab. Hier finden
> Sie unter anderem einen DHCP-Proxy, TFTP- und NFS-Dienste. Sendet ein
> PXE Bootrom die Broadcast-Anfrage nach einer IP-Adresse aus,
> registriert das der DHCP-Proxy. Bekommt der Client die IP-Adresse,
> folgt die Suche nach einem TFTP-Server im Netz. Ist der Thin Client
> über seine Mac-Adresse in der Verwaltung erfasst, antwortet der JBoss,
> dass er diese Service-Anfrage erfüllen kann und liefert das für den
> Thin Client in der Verwaltung konfigurierte Kernel-Image (vmlinuz)
> nebst der initialen Ramdisk (initrd.img) aus dem Verzeichnis
> server/default/data/nfs/root/tftp aus.
> 
> Kasten
> Client-Bootvorgang
> Hat der Thin Client Kernel und Ramdisk per TFTP bekommen, beginnt der
> für Linux typische Boot-Prozess. Auf dem Bildschirm des Terminals
> sehen Sie jetzt die weiß/blaue Box einer Bootsplash-Variante mit
> scrollenden Startmeldungen. Genau genommen wird auf dem Client ein
> Live-Medium gestartet. Die initiale Ramdisk mountet zunächst ein
> Squashfs-Dateisystem (server/default/data/nfs/root/sfs/base.sfs), das
> das komplette Wurzelverzeichnis enthält. Die für eine Ubuntu Live-CD

Naja, es basiert vom Code auf Ubuntu 6.04 LTS Dapper Drake, ist aber
keine Ubuntu-Live-CD, da wir der Erweiterbarkeit halber ein modulares
System aufgebaut haben, das aus einem eher monolithischen Kern, dem
base.sfs und den eigentlichen ThinClientapplikationen unter /opt
besteht. Diese Applikationen sind widerum squash-Images, die gegenüber
den Standard-Ubuntu-Paketen weitere OTC-spezifische Konfigurations-
schemata in XML und Startwrapper enthalten.

Ohne diese Schemata wäre auch die Einbindung in den Manager nicht
möglich und ohne die Startwrapper auch kein Auslesen der Konfiguration
zur Laufzeit.

Das, und die Verlegung der Extrapakete nach /opt, weil /usr z.B. nicht
beschreibbar ist, erfordert auch, dass Pakete speziell für OTC erstellt
werden.

Aber, um dem etwas den Schrecken zu nehmen, es ist vom Vorgang nicht
wesentlich anders, als ein Paket für Ubuntu (oder Debian) zu erstellen,
es kommt nur etwas hinzu. :-)

Einfach mal unter /opt in die Pakete reinschauen, speziell auch die
Unterverzeichnisse tcos und schema...

> übliche gute Hardware-Erkennung sorgt dafür, dass Grafikkarte, lokale
> Speichermedien und Sound korrekt erkannt werden. Ist nichts anderes in
> der Verwaltung eingestellt, startet der Xorg-Server mit VESA-Treiber
> in 1024x768 Auflösung bei 16 Bit Farbtiefe und präsentiert den GDM
> Login-Bildschirm. Die Authentifikation der Benutzer erfolgt gegen den

Deswegen immer unter Geräte passende Peripherie definieren und dem
ThinClient oder seinem Hardwaretyp zuordnen... :-)

> LDAP des OpenThinClient-Servers, den ebenfalls JBoss serviert. Ist die
> Authentifizierung erfolgreich, mountet das Terminal das
> Heimatverzeichnis des in der Verwaltung angelegten Benutzers per NFS.
> Es liegt auf der Server-Platte im Unterverzeichnis
> server/default/data/nfs/home/ von openthinclient/. Gleiches passiert
> übrigens auch mit /var in dem das temporäre Verzeichnis /tmp liegt. In
> der Wurzel verweist dann /tmp per Symlink auf /var/tmp.

Ja, dynamische Daten bleiben auf dem Client und werden nicht auf dem
Server gespeichert. :-)

> Kasten
> Zusatzsoftware im Client
> Über die Verwaltungsumgebung geben Sie Benutzern oder Thin Clients die
> Möglichkeit, auf den Terminals Zusatzsoftware, etwa Firefox, zu
> starten. Diese Zusatzsoftware liegt ebenfalls in Form von
> Squashfs-Images vor. Mit Hilfe eines transparenten Union-Dateisystems
> werden sie einfach auf dem Client eingebunden. Besonders clever wurde
> mit Hilfe der Verwaltung die Vorkonfiguration gelöst. In den
> Heimatverzeichnissen der Benutzer auf dem Server wird zuerst eine
> Verknüpfung für das jeweilige Programm auf dem Desktop in Form einer
> „.desktop"-Datei abgelegt. Diese erscheint dann automatisch beim

Hmmm, nein, die Desktop- und Startmenüverknüpfungen werden beim Anmelden
an den ThinClient jedesmal frisch anhand der aktuellen Konfiguration
aus dem LDAP erstellt, damit die Auswahl der Applikationen immmer
up-to-date ist. (Ist in den GDM eingehängt.)

Auch werden in den Verknüpfungen die Anwendungen nicht direkt aufgerufen
sondern es wird ein Wrapper gestartet, der dann die Konfiguration des
jeweiligen Programms anhand der Daten im LDAP erstellt, sodass etwaige
Änderungen, die der Administrator vornimmt, umgehend und ohne Neuladen
des Desktops wirksam werden.

Das Neuladen des Desktops ist nur erforderlich, wenn neue Applikationen
definiert und nun vom Anwender benötigt wurden (oder bestehende eben
entfernt, wobei das weniger störend ist, die Verknüpfung erzwingt bei
Aufruf dann eben das Neuladen).

> Booten des Terminals nach Anmeldung des Benutzers. Weiterhin legt fast
> jedes Programm unter Linux im Heimatverzeichnis des Benutzers einen
> versteckten Ordner mit individuellen Einstellungen an. Am Beispiel des
> Firefox richten Sie so in der Verwaltung unter anderem eine
> vorgegebene Startseite oder Bookmarks ein, die beim Start des Browsers
> auf dem Thin Client vorhanden sein sollen. Physikalisch existieren
> diese Einstellungsdateien im Heimatverzeichnis des Benutzers auf dem
> Server, etwa unter
> server/default/data/nfs/home/test/.mozilla/firefox/.

Korrekt, wobei durchaus beim nächsten Start der Applikation Konfigura-
tionsvorgaben, die der Admin macht, wieder eingepflegt werden. Das
betrifft z.B. beim Firefox unter anderem die Proxyeinstellungen.

Aber gerade so Sachen wie die Bookmarks des Firefox sind eher dem
Benutzer überlassen.

Nur so als Hinweis. Der Firefox ist insofern schon eher ein "schlechtes"
Beispiel für eine ThinClient-Anwendung, weil er sehr mächtig ist und
keine Serversitzung wie RDP (rdesktop), Citrix ICA oder Terminalemula-
tionen wie z.B. 5250 ist, wo die Konfiguration komplett aus den Vorgaben
kommt.

Gerade beim Firefox werden da eben Kompromisse eingegangen, um den
Endbenutzer im Normalfall auch nicht zu sehr zu gängeln. Im Einsatz
im kommerziellen Umfeld wird Firefox eher seltener eingesetzt, da
ist der Schwerpunkt beim "server based computing" zu suchen, auch
wenn Firefox da hin und wieder für Intranetanwendungen verwendet
wird.

> ---------
> 
> Please proofread the above, correct where I'm wrong and add what I missed.
> 
> Big thanx in advance!

You are welcome... Coding and writing documentation often clashes
when it comes to allocating the necessary time... :-)

-- 
Bye,
   Tobias Abt

levigo systems gmbh  -----------  ein unternehmen der levigo gruppe
Max-Eyth-Strasse 30                        Telefon: 07031 / 4161-10
D-71088 Holzgerlingen                      Telefax: 07031 / 4161-11
Geschäftsführer: Oliver Bausch            http://systems.levigo.de/
Registergericht: Stuttgart HRB 245 180          USt-ID: DE813226078

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
The Open Source Thin Client Solution http://openthinclient.org
[email protected]
https://lists.sourceforge.net/lists/listinfo/openthinclient-user

Reply via email to