Das Linux Terminal Server Project (LTSP) ist ein Linux-Programmpaket, das dazu dient, Benutzern von Terminals Zugriff auf den Terminal-Server zu gewähren, von dem aus Anwendungen ausgeführt und mittels des Terminals gesteuert werden können. Einsatzgebiete sind beispielsweise Internetcafés oder Büros, bei denen an jedem Arbeitsplatz die gleichen Anwendungen zur Verfügung stehen und die Kosten pro Arbeitsplatz klein gehalten werden sollen. Der Effekt der Kostenminimierung entsteht dadurch, dass für die Terminals keine schnellen Systeme und mitunter keine Festplatten vorgehalten werden müssen.
Inhaltsverzeichnis |
Die Terminals können aus alten, leistungsschwachen Rechnern bestehen (z.B. Pentium I mit 90 MHz, ohne Festplatte, 100 MBit Netzwerkkarte, Grafikkarte; ein vorhandener PCI-Bus erleichtert hierbei die Hardwareerkennung) oder aus dedizierten Thin Clients. Als Wirtsbetriebssystem dient eine beliebige Linux-Distribution. Das Booten der Terminals erfolgt über PXE-fähige Netzwerkkarten, mittels Diskette oder CD-ROM.
Technisch gesehen vereinfacht LTSP die Ausnutzung der Fähigkeiten des grafischen X-Servers, ein beliebiges Linux-Programm in die zwei Teile Programmausführung und Anzeige zu trennen. Die Programmausführung erfolgt auf einem leistungsstarken Server, während die Anzeige zusammen mit der Eingabe über Tastatur oder Maus auf beliebig vielen Terminals erfolgen kann. Die Anzahl der Thin Clients wird hier von der Übertragungsrate des Netzwerkes und der Leistungsfähigkeit des Servers bestimmt.
Für den Einsatz von lokalen Geräten an den Thin Clients verwendet LTSP eine eigene Entwicklung, eine Mischung aus udev und FUSE. Mit dieser ist es möglich, USB-Massenspeicher, CD-Roms und Disketten an die Clients anzuschließen und sie auf dem Server auszulesen.
LTSP hat die Vorteile, welche jede Terminal Server-Installation mit sich bringt.
Zu den LTSP-spezifischen Vorteilen gehört z.B. die Tatsache, dass lokale (also im Thin Client eingebaute) Soundkarten unterstützt werden oder dass lokale Speichermedien wie Memorystick oder CD-ROM verwendet werden können.
Mit Hilfe von LTSP sind preiswerte Ausstattungen von Schulen und Internetcafés möglich. Ein Beispiel einer Linux-Distribution für Schulen mit vorinstalliertem Linux Terminal Server ist Edubuntu.
Da die eigentlichen Anwendungen auf dem Server ausgeführt werden und die Darstellung der Ausgabe auf den Clients über einen entfernten X-Server auf den Client über eine Ethernetverbindung realisiert wird, kommt es zu logischen Problemen, speziell im OpenGL-Bereich. Angepasste Grafikkartentreiber stellen ein DRI (Direct Rendering Interface) bereit, über die Applikationen 3D-Anweisungen direkt über den internen Computerbus an die Grafikkarte leiten können. Ist die Grafikkarte physikalisch von der Anwendung getrennt, also nicht im selben Computersystem, ist diese schnelle Methode der 3D-Darstellung nicht möglich. Dies ist in LTSP-Systemen der Fall. Trotzdem bietet das X-Server-System die Möglichkeit, 3D-Anweisungen an die Grafikkarte zu leiten ohne das Ergebnis lokal berechnen zu müssen. Voraussetzung ist natürlich ein X-Server mit Treibern, die 3D-Funktionen unterstützten (bei NVIDIA und ATI proprietär).
3D-Anwendungen sind also durchaus auf den Thinclients abbildbar, jedoch abhängig von der Ethernet-Anbindung, da alle OpenGL-Befehle über das Netzwerk gesendet werden.
Spiele mit relativ simpler 3D-Anforderung, wie xmoto sind über eine 100-Mbit-Verbindung durchaus betrachtbar.
3D-Modelling-Anwendungen fallen nicht gänzlich in dieses Feld, da die finale 3D-Berechnung durch Software Renderingengines bewerkstelligt wird. Die OpenGL-Funktionalität des XServers findet allerdings während des Modellierung an sich Verwendung. Blender lässt sich via LTSP und vernünftigen Grafikkarten-Treibern beispielsweise gut bedienen.
Für die Videodarstellung gilt ähnliches. Unterstützt der X-Server mit den entsprechenden Treiber-Modulen ein passendes Video-Protokoll, wie xvideo (wird etwa vom Standard VESA-Modul nicht unterstützt), ist eine gute Videodarstellung je nach Verbindungsrate zu erwarten. Mit einer 100-MBit-Verbindung ist das Ansehen einer SVCD durchaus möglich, HDTV-Inhalte überfordern jedoch selbst ein Gigabit-Netzwerk.
Ältere LTSP-Versionen (bis Version 4) stellen durch ihr Projekt eigene Softwarepakete der Linux-Umgebung für die Clients zur Verfügung (Kernel, libraries, x-server etc). Diese sind auf Minimalismus, Größe und Geschwindigkeit optimiert. Ein Nachinstallieren von Programmen auf den Clients (bzw. deren NFS-Umgebung) bereitet schon alleine durch das Fehlen einer Paketverwaltung wie RPM oder DEB Schwierigkeiten.
Mit der Zeit wuchs nicht nur die Leistung der Server- und Desktop-Rechner, sondern auch die der Thin Clients. Clients mit einer Leistung kleiner 300 MHz sind mittlerweile eher unüblich. So gilt es doch in der Regel zumindest gängige Monitore mit einer Auflösung >= 1280 x 1024 zu bedienen, wofür wiederum eine Grafikkarte mit AGP-Steckplatz gängig ist.
Somit ergeben sich für die Clients auch größere Arbeitsgebiete, wie etwa „Video decoding on client side“, Irda-Ansteuerung (Infrarot-Fernbedienung), Installation proprietärer Grafikkartentreiber (für AIX, TV-Out, OpenGL beispielsweise), Nutzung lokaler Geräte wie TV-Karten etc.
Nachfolgende LTSP-Versionen (ab Version 5) liefern den Clients eine Umgebung, die einer regulären Linux-Distribution entspricht. Dadurch kann der Benutzer das Linux-System der Thin Clients beliebig erweitern und Pakete nach eigenem Wunsch installieren. So lassen sich die Clients mit bessererer Unterstützung für ACPI, Irda usw. erweitern. Da dies wenig mit dem ursprünglichem LTSP-Projekt gemein hat, erhielt es den Codenamen 'muekow'.