NX-Client für automatischen Login am Thin Client

Die Systemrollen UCS Thin Client und UCS Managed Client erlauben den automatischen Start von vorgegebenen Anwendungen, ohne dass ein Benutzer sich vorher angemeldet haben muss. Dieser Autostart-Mechanismus kann in verschiedenen Szenarien eingesetzt werden. Ein UCS Thin Client kann beispielsweise als Internet Terminal eingesetzt werden, wenn ein Web-Browser mit vorgegebenen Einstellungen über den Autostart-Mechanismus ausgeführt wird. Häufiger werden allerdings Anwendungen gestartet, die selbst eine Anmeldung des Benutzers an einem entfernten Server (wie Citrix oder rdesktop) vornehmen. Durch seine Stabilität und Flexibilität gewinnt in diesem Zusammenhang die Software NX von Nomachine an Bedeutung. In diesem Artikel soll beschrieben werden, welche Anpassungen erforderlich sind, um die Software NX-Client auf dem UCS Thin Client in den Autostart-Mechanismus einzubinden.

Der automatische Start von Anwendungen ohne angemeldeten Benutzer ist eine Eigenschaft des Login-Managers gdm. Wenn gdm startet, wird anstelle der Anmeldemaske das in der Konfiguration vorgegeben Programm unter der ebenfalls in der Konfiguration vorgegebenen Benutzerkennung ausgeführt. Die eigentliche Konfiguration ist in UCS bereits enthalten, sie wird aktiviert, wenn in Univention Admin für einen Managed oder Thin Client auf dem Reiter [Autostart] eine Autostart-Sitzung eingetragen wurde. Bei dieser Autostart-Sitzung handelt es sich um ein Shell-Skript, das im Verzeichnis /etc/gdm/Autostart abgelegt ist. In diesem Skript wird die Anwendung so aufgerufen, wie sie auch aus der Kommandozeile aufgerufen wird.

Installation der Software

Die Software NX-Client ist in UCS 1.3-1 noch nicht enthalten. Der Client kann unter der URL nomachine.com/download-client-linux.php (NX Client DEB for Linux) heruntergeladen werden. Soll der Autostart von NX auf einem Thin Client erfolgen, muss das Paket im Client Basissystem des Boot-Servers installiert werden. (Das Client Basissystem ist das Verzeichnis, welches der Thin Client über NFS von seinem Boot-Server als Root-Dateisystem einbindet.)

Ist das Installationspaket des NX-Clients heruntergeladen, kann es nicht über die normale Paketinstallation (Aufruf von dpkg -i oder apt-get install) installiert werden, da in diesem Fall die Software unterhalb des Root-Dateisystems des Boot-Servers aber nicht in das Client Basisystem installiert würde. Die einzelnen Schritte:

  1. Das Installationspaket muss in das Client Basisystem kopiert werden:
# cp nxclient_2.0.0-90_i386.deb /var/lib/univention-client-root/
  1. NX-Client erfordert die Installation des Pakets libstdc++2.10-glibc2.2, das auf der zweiten UCS Installations-CD enthalten ist. Wurde die zweite CD dem Repository hinzugefügt (siehe Handbuch, Kapitel Softwareverwaltung), muss es ebenfalls in das Client Basissystem kopiert werden:
# cp /var/lib/univention-server-cdrom/packages/libstdc++2.10-glibc2.2_2.95.4-22.8.200604040735_i386.deb /var/lib/univention-client-root/
  1. Für die Installation der Pakete muss der Benutzer ‘root’ in eine so genannte Change-Root Umgebung wechseln. Hierbei werden alle Pfade zu Programmen und Dateien nicht mehr relativ zum Verzeichnis ‘/’ aufgelöst, sondern zu dem Verzeichnis, in das der Benutzer gewechselt ist. Wechselt der Benutzer in das Verzeichnis /var/lib/univention-client-root, wird durch den Aufruf von /usr/bin/dpkg das Programm unter /var/lib/univention-client-root/usr/bin/dpkg ausgeführt. Bei diesem Aufruf angegebene Pakete werden ebenfalls unterhalb von /var/lib/univention-client-root installiert. Die Change-Root Umgebung wird mit dem Befehl ‘exit’ wieder verlassen.
# chroot /var/lib/univention-client-root
# dpkg -i libstdc++2.10-glibc2.2_2.95.4-22.8.200604040735_i386.deb
# dpkg -i nxclient_2.0.0-90_i386.deb
# exit

Nachdem der NX-Client installiert wurde, kann an einem Thin Client, der dieses Client Basissystem verwendet, die Autostart-Richtlinie eingerichtet werden. Unter /var/lib/univention-client-root/etc/gdm/Autostart/nx liegt bereits ein Shell-Skript, das den NX Client auf dem Thin Client automatisch startet. Auf dem Reiter [Autostart] muss im Eingabefeld Autostart-Sitzung nur der Name des Skripts ‘nx’ (ohne kompletten Pfad) eingetragen werden. Der Server, mit dem der NX Client sich verbinden soll, muss auf dem Reiter [Thin-Client-Konfiguration] im Feld Linux-Terminal-Server eingetragen werden.
Dieser Rechnername wird vor dem eigentlichen Start des NX-Clients ausgelesen und in die lokale Konfiguration aufgenommen.

Wurden die Einstellungen gespeichert, wird nach einem Neustart des Thin Clients der NX Client gestartet. Ein Benutzer muss Benutzernamen und Passwort für den NX-Server am Anmeldedialog eingeben und die Verbindung wird aufgebaut. Beendet der Benutzer die NX-Sitzung, wird der NX-Client neu gestartet und der Anmeldedialog wird wieder angezeigt.

Mastodon