This page (revision-20) was last changed on 29-Oct-2021 13:33 by ThomasBayen 

This page was created on 03-Oct-2006 21:29 by UnknownAuthor

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Page revision history

Version Date Modified Size Author Changes ... Change note
20 29-Oct-2021 13:33 18 KB ThomasBayen to previous Link zur neuen LTSP-Seite
19 21-Jan-2008 19:15 18 KB ThomasBayen to previous | to last ganz so unnütz war das nicht
18 21-Jan-2008 18:25 17 KB PeterHormanns to previous | to last ltsp-build-client heißt es bei mir
17 21-Jan-2008 18:15 17 KB PeterHormanns to previous | to last Tagging
16 12-Sep-2007 13:37 17 KB MarkusMonderkamp to previous | to last LTSP-Titel im LinuxMagazin
15 06-Sep-2007 17:31 17 KB ThomasBayen to previous | to last USB over IP
14 07-Aug-2007 12:01 17 KB MarkusMonderkamp to previous | to last Testaufforderung
13 11-Jul-2007 23:28 17 KB ThomasBayen to previous | to last Link zu ThinClientLokalBooten
12 11-Jul-2007 16:29 16 KB ThomasBayen to previous | to last Link zu OpenSLX
11 29-May-2007 19:40 16 KB ThomasBayen to previous | to last Scanner am Thin Client
10 29-May-2007 12:33 15 KB ThomasBayen to previous | to last Doku an aktuelle Versionen angepasst
9 28-May-2007 20:50 15 KB ThomasBayen to previous | to last LTSP unter Debian Etch
8 14-Feb-2007 12:30 13 KB ThomasBayen to previous | to last USB-Stick lokal einstecken
7 26-Dec-2006 01:48 13 KB ThomasBayen to previous | to last Clients herunterfahren
6 18-Dec-2006 12:55 7 KB ThomasBayen to previous | to last Beep up your Client!
5 25-Oct-2006 15:25 6 KB ThomasBayen to previous | to last Link zu ThinClient
4 20-Oct-2006 18:42 6 KB PeterHormanns to previous | to last Formatierung, Luki_treffen aus diesem Wiki entfernt
3 20-Oct-2006 12:40 6 KB ThomasBayen to previous | to last
2 16-Oct-2006 15:16 6 KB ThomasBayen to previous | to last Anpassung an neues Wiki
1 03-Oct-2006 21:29 9 KB UnknownAuthor to last

Page References

Incoming links Outgoing links

Version management

Difference between version and

!!! Terminalserver unter Linux

Bei einem Terminalserver geht es darum, daß ich einen relativ
einfachen Client-Rechner habe, der normalerweise auch keine
Festplatte besitzt (DisklessClient bzw. ThinClient) und der von
einem zentralen Server aus alle Daten bekommt, um zu arbeiten. Der
große Vorteil ist, daß man nur noch eine zentrale Stelle hat, an
der man ein ganzes Netzwerk von Rechnern konfiguriert und wartet.

Grundsätzlich gibt es die Frage, welche Aufgaben vom Server und
welche von Client übernommen werden sollen. Klassische
Terminalserver-Projekte wie das bekannte
[LTSP (Linux Terminal Server Projekt)|http://ltsp.org/]
gehen davon aus, daß der Client in ThinClient, also so
einfach (d.h. billig) wie möglich aufgebaut ist und eigentlich nur
als verlängerter Bildschirm und Tastatur des Servers dient. Dies
hat den großen Vorteil, daß alle Benutzer wirklich nur auf einem
System (nämlich dem Server) arbeiten und lediglich ein Mini-Linux
mit X-Server auf dem Client laufen muss.

Eine Alternative ist, den Server lediglich als Fileserver benutzen
und die Applikationen dadurch jeweils auf dem Client laufen zu
lassen. ThomasBayen hat seine Erfahrungen dazu auf der Seite
DisklessClient und BootenVomNetzwerk zusammengefasst.

Zur Skalierung eines LTSP-Systems ist zu sagen, daß ich von
Skolelinux-Installationen an Universitäten gehört habe, die
tausende(!) von Clients in einer Installation laufen haben.

Wer lediglich einen Linux-Rechner aus der Ferne bedienen will,
sucht (neben {{ssh -X}}) vielleicht nach der Seite
XdmcpTerminalServer oder einem VncServer.

!! Technischer Hintergrund

Im April 2006 habe ich (ThomasBayen) einen [http://ltsp.org/
LTSP-Server] aufgesetzt. Hierbei habe ich einige Dinge zur
Architektur eines LTSP-Systems bemerkt, die mir nicht direkt klar
waren. Deshalb erkläre ich das Ganze hier nochmal etwas: Am Anfang
steht ein ganz normales Linux-System. Dieses System hat eine
graphische Oberfläche, d.h. insbesondere einen ''Display Manager''
wie z.B. __kdm__ installiert. Dieses Programm erzeugt den uns
allen wahrscheinlich wohlbekannten Login-Dialog, der nach dem
Einschalten auf dem Bildschirm erscheint. Der erste Schritt ist
nun, den kdm so zu konfigurieren, daß er XDMCP-Anfragen von
außerhalb annimmt (das ist nur eine Zeile in einer Config-Datei).
Siehe hierzu auch XdmcpTerminalServer. Nun können X-Server (mit "X
-query" o.ä.) von einem anderen Rechner aus auf unseren
Hauptrechner zugreifen und erhalten dann einen eigenen
Login-Dialog.

Bisher haben wir einen normalen XDMCP-Server. Was wir jetzt
brauchen, sind Clients, die automatisch booten und per XDMCP an
unseren Hauptrechner andocken. Diese Clients müssen im Grunde wie
ein DisklessClient gebootet werden. Hierzu benötigen wir einen
Server, der einerseits die hierzu benötigten Dienste (DHCP, TFTPD,
NFS) laufen hat und andererseits das root-Filesystem der Clients in
einem eigenen Verzeichnis enthält.

Die Besonderheit an LTSP im Vergleich zu einem normalen
DisklessClient ist nun, daß das root-Filesystem des Clients ganz
speziell auf diesen Zweck zugeschnitten ist. LTSP ist insofern eine
ganz eigene Distribution für [ThinClient]s. Das Filesystem wird
read-only gemountet und daher vom Client nicht geändert. Deshalb
können alle Clients mit einem identischen Filesystem booten. Beim
Hochfahren wird eine automatische Erkennung des X-Servers
vorgenommen und dieser dann mit einer XDMCP-Anfrage an den
Hauptserver gestartet.

Der LTSP-Server ist normalerweise identisch mit dem Hauptserver
(muss aber nicht). Da die LTSP-Distribution in einem ganz eigenen
Verzeichnis liegt, braucht man keine Sorgen zu haben, sein
Hauptsystem in irgendeiner Weise zu verändern. Es werden lediglich
die o.g. Netzwerkdienste installiert und eingerichtet.


!! Installation

Ich habe mir das __ltsp-utils__-Paket von der [http://ltsp.org/
LTSP-Webseite] geholt. Dies lief nach der vorhandenen Doku sehr
einfach und unkompliziert. ''(Fehlermeldungen bzgl. Checksummen
verschwanden bei mehrmaligen Installationsversuchen) --
ThomasBayen''

Unter Ubuntu-Linux gibt es die Alternative der neueren
Mue-Cow-Pakete, die in Zusammenarbeit mit Ubuntu entwickelt wurden
(s.u.).


!! Projekt Mue-Cow

Dadurch, daß LTSP im Grunde eine eigene Distribution ist, haben die
LTSP-Betreuer viel Arbeit am Hals, alle Komponenten ständig auf dem
laufenden zu halten. Insbesondere gibt es natürlich einige
Applikationen, die man eventuell dann doch auf dem Client und nicht
auf dem Server laufen lassen will (z.B. ein VNC-Client oder ein
Seti@home-Client). Die Installation solcher Applikationen auf dem
Client geht nun aber nicht einfach mit ''apt'' oder ''rpm'',
sondern muss immer genau auf LTSP abgestimmt sein.

Um diesem Problem zu begegnen, möchte das LTSP-Team die Architektur
unter dem Namen "Projekt Mue-Cow" verändern. Statt eines Paketes
''ltsp-utils'', das dann LTSP-tgz-Pakete nachlädt, um die
LTSP-Distribution zu installieren, wird die Client-Distribution in
Zukunft auf einem normalen Debian (oder Redhat oder Suse oder
Ubuntu) basieren. Dazu kommt dann noch ein spezielles "ltsp-client"
Debian-Paket, das aus der Standard-Distribution einen LTSP-Client
macht. Um den Server einzurichten, gibt es dann ein
"ltsp-server"-Paket.

Die neueren Pakete gibt es bereits in Debian unstable, allerdings
habe ich sie auf meinem Sarge-System nicht ans laufen gebracht.
Deshalb habe ich obigen Installationsweg beschritten.

In Ubuntu seit "Breezy Badger" (5.10) sind bereits Pakete nach dem
Mue-Cow Standard enthalten. Wem das also besser gefällt, sollte
überlegen, seine LTSP-Experimente mit Ubuntu zu machen.


!! lokale Applikationen

Eigentlich ist LTSP ja dazu da, das alle Applikationen auf dem
Server laufen. Dies hat viele Vorteile. Man braucht nur ein System
zu warten und die Ressoucen dieses Systems werden viel besser ge-
und verteilt. Dennoch gibt es Gründe, Applikationen dezentral
laufen zu lassen. Spontan fallen mir hier einige Gründe ein:

* Programme, deren primärer Zweck die Verbindung zwischen Display und einem dritten Server ist: __Vnc__ (siehe VncServer), __RDesktop__ (für Windows Terminalserver)
* Programme, die den X-Server besonders fordern wie z.B. Videoplayer oder Streamingclients
* Programme, die besonders viel Rechenleistung benötigen und die Ressourcen des Hauptservers damit zu stark blockieren würden wie z.B. Seti@home oder DosEmu. (Ich habe selber den DosEmu auf einem LTSP-Client installiert. Dies habe ich auf DosEmuAufLTSPClient dokumentiert.)

!! lokaler Sound

Auf der LTSP-Webseite gibt es umfangreiche Doku zum Thema "Sound". Es gibt dazu verschiedene netzwerktaugliche Sound-Server. Dennoch habe ich für den normalen Büroarbeitsplatz eine viel einfachere und bessere Lösung! Ich benötige nämlich in Wirklichkeit gar keinen Sound mit Boxen, die ein extra Stromkabel brauchen und mir wieder den Schreibtisch zustellen. Ich brauche nur ab und an mal eine Nachricht, z.B. über eingegangene EMails.

Für diesen Zweck haben die Urväter des PC bei allem Blödsinn, den sie gemacht haben, eine Super-Idee gehabt: Den internen Lautsprecher. Nun habe ich aus dem Debian-Paket '''beep''' das Executable in mein LTSP-Verzeichnis nach /usr/bin/ kopiert. Nun kommt in die ''/opt/ltsp/i386/etc/lts.conf'' folgende Zeile:

 MODULE_01 = pcspkr

Da ich für eine andere Anwendung bereits einen Public Key habe, dessen Passwort ich über einen ssh-agent verwalte, mit dem ich mich dann später ohne Passwort auf dem Thin Client einloggen kann, reicht es nun, in Notify-Programmen wie im KDE-Kontrollcenter oder insbesondere im von mir benutzten KBiff folgenden Befehl anzugeben:

 ssh root@${DISPLAY/:*/} beep

Wer eine hübsche Melodie vorzieht, findet auf der Seite ThomasBayen eine Anregung...

''Eine Konfiguration, bei der man gar kein Passwort mehr braucht, ist natürlich auch denkbar. Ob es sinnvoll ist, allen Benutzern auf allen Clients root-Rechte einzuräumen und ob das was schaden würde, bleibt jedem selbst überlassen.''