ThinLinc präsentiert sich als leicht zu installierende und zu wartende Terminal-Server-Lösung, die keine Wünsche offen lässt.
Ein Terminal-Server erleichtert das Leben des Admins deutlich. Alle Nutzer arbeiten mit den selben, zentral gepflegten Programmen und Einstellungen. Statt teuerer und pflegeintensiver PCs genügen als Arbeitsplatz auch preiswerte Thin-Clients anschaffen oder umfunktionierte ältere Rechner. So lässt sich nicht nur Geld sparen: Die Anwender finden an jedem Rechner im Netz ihren gewohnten Desktop vor und können ohne großen Aufwand einen häuslichen Tele-Arbeitsplatz erhalten.
Für Linux gibt es mehrere Terminal-Server-Lösungen. In diesem Artikel soll es um ThinLinc [1] gehen, ein Produkt der schwedischen Cendio AB. Weitere Vertreter wären NX Nomachine [2], das Linux Terminal Server Project (LTSP) [3] oder X2Go [4]. Zwar nutzt ThinLinc viel freie Software, beim Terminal-Server selbst handelt es sich jedoch um proprietäre Software. Für kleine Installationen bis zehn Nutzern ist die Terminal-Lösung kostenlos, danach fallen gestaffelte Gebühren an.
Cendio hat ThinLinc mit reichlich Features ausgestattet. Dazu zählen zum einen gebräuchliche Funktionen wie Kommunikation über SSH, VPN, Hochverfügbarkeit, Skalierbarkeit, Authentifizierung gegen Verzeichnisdienste und die Unterstützung von Sound, lokalen Datenträgern oder seriellen Ports über Netzwerkverbindungen. Daneben offeriert ThinLinc auch eine integrierte OpenGL-Implementierung für beschleunigte 3D-Grafiken auf den Clients, Smartcard-Unterstützung, einen integrierten VDI-Broker und spielt mit vorhandenen Windows-Datei- und Terminal-Services sowie Microsofts Active Directory zusammen. Läuft auf dem ThinLinc-Server ein Webserver, lassen sich Sitzungen auch in einem Browser starten.
Bei ThinLinc handelt es sich um ein Framework, als dessen zentraler Bestandteil der von Cendio entwickelte VNC Session Manager (VSM) fungiert. Der VSM kümmert sich um die Nutzerauthentifizierung, verwaltet Sitzungen, Lastausgleich, Hochverfügbarkeit und dient als Schnittstelle zwischen den verschiedenen Terminal-Servern (“Agents”) und deren Anwendungen. Grafische Informationen tauschen Server und Client via TigerVNC [5] ausgetauscht. Auf dem Server läuft der VNC-Server Xvnc, der für Anwendungen als X-Server fungiert.
Dieser Artikel zeigt, wie eine Terminal-Server-Lösung für den Hort einer Ganztagsschule aussehen könnte. In dessen Bibliothek stehen mehrere alte Rechner, welche die Kinder für Internetrecherchen und ihre Hausarbeiten nutzen können. Als Grundlage für die ThinLinc-Installation dient ein Server mit Ubuntu 12.04.
Installation
ThinLinc setzt auf dem Server lediglich eine halbwegs aktuelle Linux-Distribution voraus. Cendio hat den Terminal-Server ausgiebig mit Red Hat Enterprise Linux Server 6, Suse Linux Enterprise Desktop 11 SP2 und Ubuntu 12.04 getestet, wobei jeweils die 64-Bit-Versionen herhalten mussten.
Die Hardwareanforderungen an den ThinLinc-Server hängen von den Anforderungen der Anwender ab. Erfahrungsgemäß sollte die CPU 150 bis 300 MHz Taktfrequenz sowie 100 bis 200 MByte Arbeitsspeicher pro aktiven Nutzer bereitstellen können. So lassen sich die meisten Büroarbeiten gut bewältigen. Für rechen- und speicherintensive Anwendungen muss der Server entsprechend üppiger ausfallen.
Um den ThinLinc-Server herunterzuladen, müssen Sie sich registrieren. Anschließend wird das in einem ZIP-Archiv verpackte Thinlink-Server-Bundle heruntergeladen und entpackt. Aktuell liegt ThinLinc in der Version 3.4 vor. ThinLinc bringt DEB- und RPM-Pakete mit, sodass Sie es auf vielen Systemen mithilfe der Paketverwaltung installieren können. Anderenfalls starten Sie die Installation manuell mit ./install-server im neu entstandenen Verzeichnis tl-3.4.0-server.
Nach dem Einrichten der Pakete bietet der Installer an, gleich mit der Konfiguration fortzufahren. Diesen Schritt können Sie auch später nachholen, indem Sie als Root /opt/thinlinc/sbin/tl-setup aufgerufen. Sie müssen Lizenzen akzeptieren und sich entscheiden, ob der Server ein Master oder Agent sein soll. Bei Mastern handelt es sich um die Server, mit denen sich Clients verbinden, Agenten führen die Tasks der Anwender aus. In unserem Szenario reicht ein Server aus, der sowohl die Aufgaben des Masters als auch des Agents übernimmt. Nach der Wahl werden eventuelle Abhängigkeiten aufgelöst, was dem Admin bei einem frisch aufgesetzen Server eine kleine Pause beschert.
Gegebenenfalls installiert das Setup-Programm neben den Abhängigkeiten auch noch einen NFS-Client (für Local Drive Redirection), PyGTK, PyGlade oder Python LDAP. Erstere dienen dazu, an Clients Daten auf USB-Sticks zu speichern oder die Bildschirmauflösung am Terminal zu ändern. Python LDAP brauchen Sie nur dann, wenn Sie Anwender gegen Novell NDS/eDirectory oder Microsoft Active Directory authentifiziert werden sollen.
:Anschließend fragt ThinLinc noch nach der E-Mail-Adresse des Admins sowie einem Passwort für die webbasierte Admin-Oberfläche und richtet die Firewall und vorhandene Drucker ein. Zu guter Letzt starten die ThinLinc-Services und Sie erreichen die webbasierte Administrationsoberfläche unter https://thinlinc-server:1010/ (Abbildung 1).
ThinLinc-Client
Die Terminals verbinden sich über den ThinLinc-Client [6] mit dem Server. Sie erhalten den Client in Form separater, 5 bis 6 MByte großer Dateien für Linux (Binary, DEB- und RPM-Paket), Mac OS X, Solaris und Windows. Gibt es keinen Rechner mit vorinstalliertem Betriebssystem, kann das Client Operating System (TLCOS) eine interessante Alternative zur Neuinstallation sein: Das knapp 460 MByte große ISO-Image basiert auf Fedora 8 und begnügt sich bereits mit einem Pentium-Rechner mit 128 MByte Arbeitsspeicher und 3 GByte freiem Festplattenspeicher.
Nach dem Einrichten des Clients starten Sie ihn mit dem Aufruf tlclient oder – bei manueller Installation –mit /opt/thinlinc/bin/tlclient. Anschließend präsentiert sich ein Fenster, das außer drei Eingabefeldern noch drei (in TLCOS vier) Schaltflächen zeigt (Abbildung 2). Sie können sich jetzt bereits auf dem ThinLinc-Server einloggen und gegen alle Methoden authentifizieren, die das Pluggable Authentication Modules (PAM) unterstützt. ThinLinc nutzt in der Voreinstellung die normale Passwd-Datei des Linux-Rechners, um Anwender zu authentifizieren.
Mit einem Klick auf die Systemeinstellung ändern Anwender mit TLCOS als Betriebssystem die Bildschirm-Auflösung oder das Maus- und Tastatur-Verhalten. Die Einstellungsmöglichkeiten unter Optionen fallen vielfältig aus (Abbildung 3). Hier legen Sie beispielsweise fest, ob eine bestehende Session automatisch weiter genutzt wird, am Thin Client befindliche lokale Geräte wie Drucker, Speicherlaufwerke oder Sound Devices an den Server durchgeschleift werden und über welchen Port der Client mit dem Server kommuniziert. Weiterhin lassen sich hier noch einige Optimierungen hinsichtlich der Bandbreite vornehmen, etwa SSH-Komprimierung aktivieren oder die Farbtiefe reduzieren.
Eine Session beginnt mit dem Login und endet mit dem Logout. ThinLinc ermöglicht es dabei, Sitzungen zu unterbrechen. Wechselt ein Anwender dann beispielsweise den Rechner, kann er mit seiner Arbeit so fortfahren, als hätten er nur eine kleine Pause eingelegt. Der ThinLinc-Client läuft fortwährend im Hintergrund, mit [F8] holen Sie ihn jederzeit auf den Schirm – etwa, um eine Sitzung zu unterbrechen oder Einstellungen zu ändern.
Profile
ThinLinc ermöglicht es, bei einem Login ausgewählte Profile zu laden. Mit solchen Profilen dürfen Anwender zwischen verschiedenen Desktops und Window-Managern wählen (Abbildung 4). Die Profile lassen sich bequem in der Webadmin-Oberfläche unter dem gleichnamigen Menüpunkt verwalten. Die Terminal-Server-Lösung bringt bereits viele vorkonfigurierte Profile mit, etwa für KDE, Gnome, XFCE und VDI-Sitzungen.
In den meisten Fällen dürften auf dem Server aber nicht mehrere Desktops und Window-Manager installiert sein, sodass Sie einige Profile löschten und gegebenenfalls neue hinzugefügen sollten. Neben Desktop-Umgebungen und Window-Managern dürfen solche Profile auch aus einzelnen Anwendungen bestehen, wie etwa einem Webbrowser (Abbildung 5).

Abbildung 5: ThinLinc-Profile zaubern Desktop-Umgebungen, Window Manager oder auch nur einzelne Anwendungen auf die Monitore der Terminals.
Speichermedien
Über das Optionsmenü Lokale Geräte | Laufwerke können Anwender Dateien von eigenen Speichermedien lesen oder dort speichern. Dazu gilt es lediglich den Pfad zum Speichermedium anzugeben, den Rest erledigt der auf dem Thin-Client laufende NFS-Server (Abbildung 6). Im Home-Verzeichnis gibt es einen Link thindrives, der auf die an der Workstation gemounteten Laufwerke zeigt.

Abbildung 6: Um am Thinclient hängende Speichermedien mit dem Server bekannt zu machen, ist dem Client nur der Pfad mitzuteilen.
Solange die standardmäßig bei der Installation angelegten Links /opt/thinlinc/etc/xstartup.d und /opt/thinlinc/etc/xlogout.d existieren, werden die in den Optionen angegebenen Laufwerke automatisch ein- und aushängt, sobald eine Session startet. Daneben können Anwender die Laufwerke mithilfe der Befehle tl-mount-localdrives und tl-umount-localdrives selbst ein- und aushängen.
Bei der manuellen Mount-Variante gilt es zu beachten, dass sich ein eingehängtes Laufwerk immer nur für die Dauer einer Sitzung nutzen lässt. Beendet man die Session, ohne das Laufwerk auszuhängen, muss man es bei einer neuen Sitzung trotzdem neu mounten, zudem kann es zu Datenverlusten kommen.
Drucker
Lokale Drucker zum Zusammenspiel mit ThinLinc zu überreden, gestaltet sich geringfügig aufwändiger. Auf dem ThinLinc-Server muss ein Cups-Daemon laufen, der an der Netzwerkkarte lauscht. Zusätzlich sind spezielle Drucker thinlocal oder nearest nötig, die tl-setup nachträglich anlegt, sofern das nicht gleich bei der Installation erledigt wurde.
Über thinlocal spricht ThinLinc die an einem lokalen Rechner hängenden Drucker an. Standardmäßig läuft der Drucker im geräteunabhängigen Modus: Cups weiß also nicht, mit was für einem Drucker es zu tun hat. Es wandelt die Drucksachen in ein PDF um und sendet sie an den lokalen Drucker. Dabei kommt der Generic Postscript Printer Driver zum Einsatz, um bestmögliche Ergebnisse zu erzielen und Schriftstücke ins korrekte Format umzuwandeln, bevor sie am Client-Drucker ausgegeben werden.
Verfügt der lokale Drucker über Duplex, Farbe oder sonstige spezielle Eigenschaften, kommt der geräteabhängige Modus zum Einsatz. Damit ThinLinc die Daten dann ohne Veränderung an den lokalen Drucker übergibt, müssen Sie auf dem Server den Druckertreiber installieren (Listing 1)
Listing 1
# lpadmin -p thinlocal-label -v 'thinlocal:/' -P /media/cd/label-printer.ppd
Gibt es im Netzwerk viele Clients, aber nur wenige Drucker, lässt sich ThinLinc auch so konfigurieren, dass es die Daten zu demjenigen Drucker sendet, der am nächsten beim Client liegt (“nearest printer”). Dazu müssen Sie ThinLinc in der Weboberfläche unter Locations mit Druckern, Orten und Terminals bekannt machen (Abbildung 7).

Abbildung 7: Nearest Printer: Auch bei vielen Clients und wenigen Druckern müssen Anwender aus dem Dachgeschoss ihre Druckaufträge nicht im Keller abholen.
ThinLinc-Status
In der webbasierten Administrationsoberfläche des ThinLinc-Servers können Sie auch nachsehen, wie es um ihre(n) Server bestellt ist. Neben der Anzahl der freien Lizenzen und aktiven Sitzungen sehen sie auch Daten zur Auslastung des Systems und der Nutzung der Lizenzen.
Unter dem Menüpunkt Status | Sessions lassen sich detailliertere Informationen zu einzelnen Sitzungen abrufen und diese gegebenenfalls beenden (Abbildung 8). Der System-Health-Check zeigt, wie es um Master und Agent(s) bestellt ist. Hier fragen Sie zudem bequem ab, ob bestimmte Nutzer oder Gruppen vorhanden sind.
Fazit
ThinLinc präsentiert sich als leicht zu installierende und zu wartende Terminal-Server-Lösung, die keine Wünsche offen lässt und eine ausgezeichnete Anleitung für Administratoren mitbringt. Die webbasierte Admin-Oberfläche lässt sich intuitiv bedienen, so dass sich auch Neulinge schnell einarbeiten. In diesem Artikel haben wir lediglich eine Installation mit einem Server betrachtet, der zugleich als Master und Agent fungiert. Entsprechende Kapazitäten und Bedarf vorausgesetzt, lässt sich der Server zu einem Cluster erweitern, sodass Sie das System ohne große Unkosten oben skalieren können.
Die zehn frei verfügbaren Lizenzen reichen für viele Zwecke völlig aus. Das schöne dabei: Die Lizenzen sind nicht etwa an Nutzer gebunden, sondern legen lediglich die maximale Anzahl der simultanen, aktiven Sitzungen fest. Brauchen Sie mehr als zehn davon, werden Gebühren fällig, die für die ersten zehn Nutzer (also Verbindung 11 bis 20) bei 65 US-Dollar pro Jahr und Lizenz liegen. Ab 300 Nutzern kostet eine Lizenz dann nur noch 30 US-Dollar pro Nutzer und Jahr, Bildungseinrichtungen erhalten 50 Prozent Rabatt.
Infos
[1] ThinLinc: http://www.cendio.com/products/thinlinc/
[2] NX Nomachine: http://www.nomachine.com/
[3] Linux Terminal Server Project (LTSP): http://www.ltsp.org/
[4] X2Go: http://www.x2go.org/
[5] TigerVNC: http://sourceforge.net/apps/mediawiki/tigervnc/index.php
[6] ThinLinc-Client: http://www.cendio.com/downloads/clients/










