Inhaltsverzeichnis
NX /FreeNX
FreeNX ist eine neue und erstaunliche Möglichkeit, Remote auf einen entfernten Bildschirm zuzugreifen. Die Haupt-Bibliotheken von FreeNX stammen von der Firma NoMachine und wurden unter der GPL-Lizenz veröffentlicht. FreeNX ist eine GPL Implementation von NX Server und NX Client Komponenten.
Eine Übertragung eines Remote-Bildschirms kann dank einer hohen Kompression auch mit einer geringen Bandbreite an Internetanbindung (56k Modem) realisiert werden.
Installation Server
Ab hier werden root
-Rechte zur Ausführung der nachfolgenden Befehle benötigt. Um root
zu werden geben Sie bitte folgenden Befehl ein:
$ su - Password:
Mit nachfolgenden Befehl werden die notwendigen Komponenten aus den Standard-Repository's von CentOS - extras
installiert:
# yum install nx freenx Loaded plugins: fastestmirror, refresh-packagekit, security Loading mirror speeds from cached hostfile Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package freenx.x86_64 0:0.7.3-8.el6.centos will be installed --> Processing Dependency: xorg-x11-apps for package: freenx-0.7.3-8.el6.centos.x86_64 --> Processing Dependency: /usr/bin/expect for package: freenx-0.7.3-8.el6.centos.x86_64 --> Processing Dependency: expect for package: freenx-0.7.3-8.el6.centos.x86_64 --> Processing Dependency: nc for package: freenx-0.7.3-8.el6.centos.x86_64 ---> Package nx.x86_64 0:3.5.0-1.el6.centos will be installed --> Processing Dependency: libXpm.so.4()(64bit) for package: nx-3.5.0-1.el6.centos.x86_64 --> Running transaction check ---> Package expect.x86_64 0:5.44.1.15-2.el6 will be installed --> Processing Dependency: libtcl8.5.so()(64bit) for package: expect-5.44.1.15-2.el6.x86_64 ---> Package libXpm.x86_64 0:3.5.8-2.el6 will be installed ---> Package nc.x86_64 0:1.84-22.el6 will be installed ---> Package xorg-x11-apps.x86_64 0:7.4-10.el6 will be installed --> Processing Dependency: libXaw.so.7()(64bit) for package: xorg-x11-apps-7.4-10.el6.x86_64 --> Running transaction check ---> Package libXaw.x86_64 0:1.0.6-4.1.el6 will be installed ---> Package tcl.x86_64 1:8.5.7-6.el6 will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: freenx x86_64 0.7.3-8.el6.centos extras 94 k nx x86_64 3.5.0-1.el6.centos extras 2.7 M Installing for dependencies: expect x86_64 5.44.1.15-2.el6 base 256 k libXaw x86_64 1.0.6-4.1.el6 base 167 k libXpm x86_64 3.5.8-2.el6 base 59 k nc x86_64 1.84-22.el6 base 57 k tcl x86_64 1:8.5.7-6.el6 base 1.9 M xorg-x11-apps x86_64 7.4-10.el6 base 296 k Transaction Summary ================================================================================ Install 8 Package(s) Total download size: 5.5 M Installed size: 14 M Is this ok [y/N]: y Downloading Packages: (1/8): expect-5.44.1.15-2.el6.x86_64.rpm | 256 kB 00:00 (2/8): freenx-0.7.3-8.el6.centos.x86_64.rpm | 94 kB 00:00 (3/8): libXaw-1.0.6-4.1.el6.x86_64.rpm | 167 kB 00:00 (4/8): libXpm-3.5.8-2.el6.x86_64.rpm | 59 kB 00:00 (5/8): nc-1.84-22.el6.x86_64.rpm | 57 kB 00:00 (6/8): nx-3.5.0-1.el6.centos.x86_64.rpm | 2.7 MB 00:00 (7/8): tcl-8.5.7-6.el6.x86_64.rpm | 1.9 MB 00:00 (8/8): xorg-x11-apps-7.4-10.el6.x86_64.rpm | 296 kB 00:00 -------------------------------------------------------------------------------- Total 9.9 MB/s | 5.5 MB 00:00 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : libXpm-3.5.8-2.el6.x86_64 1/8 Installing : libXaw-1.0.6-4.1.el6.x86_64 2/8 Installing : xorg-x11-apps-7.4-10.el6.x86_64 3/8 Installing : nx-3.5.0-1.el6.centos.x86_64 4/8 Installing : nc-1.84-22.el6.x86_64 5/8 Installing : 1:tcl-8.5.7-6.el6.x86_64 6/8 Installing : expect-5.44.1.15-2.el6.x86_64 7/8 Installing : freenx-0.7.3-8.el6.centos.x86_64 8/8 Stopping sshd: [ OK ] Starting sshd: [ OK ] Starting freenx-server: [ OK ] Installed: freenx.x86_64 0:0.7.3-8.el6.centos nx.x86_64 0:3.5.0-1.el6.centos Dependency Installed: expect.x86_64 0:5.44.1.15-2.el6 libXaw.x86_64 0:1.0.6-4.1.el6 libXpm.x86_64 0:3.5.8-2.el6 nc.x86_64 0:1.84-22.el6 tcl.x86_64 1:8.5.7-6.el6 xorg-x11-apps.x86_64 0:7.4-10.el6 Complete!
Folgender Benutzer wurde ebenfalls angelegt, was mit folgende Befehl überprüft werden kann:
# cat /etc/passwd | grep nx nx:x:495:490::/var/lib/nxserver/home:/usr/bin/nxserver
Desweiteren wurden auch folgende Gruppen angelegt, was mit folgendem Befehl überprüft werden kann:
# cat /etc/group | grep nx nx:x:490:
Um das Starten von FreeNX Server auch nach einem System-(re)-start auch in Zukunft dauerhaft zu realisieren, kann folgender Befehl genutzt werden. Hier wird xxx zu den Start-Scripten der einzelnen Runlevel des Betriebssystem hinzugefügt:
# chkconfig freenx-server on
Ein Überprüfung, ob der FreeNX Server in den einzelnen Runlevel des Betriebssystems bei einem system-(re)-start mit gestartet wird kann mit folgendem Befehl abgefragt werden:
# chkconfig --list | grep freenx-server freenx-server 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Abschließend wird der FreeNX Server über nachfolgenden Befehl gestartet:
# service freenx-server start Starting freenx-server: [ OK ]
WICHTIG - Evtl. ist das Benutzerkonto nx
gesperrt (locked) !!!
Falls dies der Fall sein sollte, sind nachfolgende Konfigurationen des Benutzers
nx
erforderlich:
Zuerst kann mit nachfolgendem Befehl festgestellt werden, ob der Benutzer tatsächlich gesperrt ist:
# passwd -S nx nx LK 2012-03-08 0 99999 7 -1 (Password locked.)
Danach können nachfolgende Befehle dazu genutzt werden, den Benutzer zu entsperren:
# usermod -U nx
und
# passwd -u nx Unlocking password for user nx. passwd: Warning: unlocked password would be empty. passwd: Unsafe operation (use -f to force)
Abschließend MUSS noch ein Passwort, für den Benutzer vergeben werden:
# passwd nx Changing password for user nx. New password: Retype new password: passwd: all authentication tokens updated successfully.
Konfiguration Server
Mit nachfolgendem Befehl wird aus einer Beispiel-Konfigurationsdatei im Konfigurationsverzeichnis /etc/nxserver
des FreeNX Servers die Konfigurationsdatei /etc/nxserver/node.conf
kopiert:
# cp /etc/nxserver/node.conf.sample /etc/nxserver/node.conf
WICHTIG - Führen Sie evtl. Anpassungen der Konfiguration durch z.B. sshd
-Port ungleich 22 usw.!
Abschließend muss noch die Konfigurationsdatei /etc/nxserver/node.conf
, welche erst neu kopiert wurde wie folgt angepasst werden (nur relevanter Ausschnitt):
Vorher:
... # This adds the passdb to the possible authentication methods # ENABLE_PASSDB_AUTHENTICATION="0" ...
Nachher:
... # This adds the passdb to the possible authentication methods ENABLE_PASSDB_AUTHENTICATION="1" ...
Nachfolgend ist es erforderlich im Verzeichnis /var/lib/nxserver/home/.ssh/
die Datei authorized_keys2
mit nachfolgendem Befehl zu kopieren:
# cp -a /var/lib/nxserver/home/.ssh/authorized_keys2 /var/lib/nxserver/home/.ssh/authorized_keys
Als nächsten Schritt ist ein Neustart des Servers erforderlich, welches mit nachfolgendem Befehl realisiert werden kann:
# service freenx-server restart
Anschließend ist in der Konfigurationsdatei des SSH-Daemons /etc/ssh/sshd_conf
folgende Anpassung durchzuführen (nur relevanter Ausschnitt):
Vorher:
... AllowUsers jolanda ...
Nachher:
... AllowUsers jolanda nx ...
Um diese Änderung wirksam werden zu lassen, ist es erforderlich auch den SSH-Daemons mir nachfolgendem Befehl durchzustarten:
# service sshd restart
Konfiguration Server Logging
Um das Logging des FreeNX Servers zu aktivieren, sind folgende Änderungen in der Konfigurationsdatei /etc/nxserver/node.conf
erforderlich (nur relevanter Ausschnitt)):
... # This directives controls the verbosity of the server-wide log. # 0: No Logging # 1: Errors # 2: Warnings # 3: Important information # 4: Server - Client communication # 5: Information # 6: Debugging information # 7: stderror of some applications # Tachtler #defautl: #NX_LOG_LEVEL=0 NX_LOG_LEVEL=3 # By setting this to 0 the nxserver might be a bit faster, but passwords can be found in the log files. # Tachtler # default: #NX_LOG_SECURE=1 NX_LOG_SECURE=1 # Before turning logging on, please make sure that NX_LOGFILE is # writeable for the "nx" user # Tachtler #default: #NX_LOGFILE=/var/log/nxserver.log NX_LOGFILE=/var/log/nx/nxserver.log ...
WICHTIG - Die LOG-Datei /var/log/nx/nxserver.log
muss VOR der ersten Verwendung noch angelegt UND mit Schreibrechten für den Benutzer nx
versehen werden!
Dies kann mit nachfolgenden Befehlen realisiert werden. Anlage einer leeren LOG-Datei mit folgendem Befehl:
# touch /var/log/nx/nxserver.log
Schreibrechte für den Benutzer nx
mit folgendem Befehl setzen:
# chown nx.root /var/log/nx/nxserver.log
Besitzrechte für den Benutzer nx
mit folgendem Befehl setzen:
# chmod 600 /var/log/nx/nxserver.log
Zum Abschluß ist ein Neustart des FreeNX Servers mit nachfolgendem Befehl erforderlich:
# service freenx-server restart Restarting freenx-server: Stopping freenx-server: [ OK ] Starting freenx-server: [ OK ]
Herunterladen Client für Linux
Der Client, um auf den FreeNX Server zugreifen zu können ist nicht Bestandteil der CentOS-Repository's. Dieser kann von nachfolgender Seite heruntergeladen werden:
Installation Client für Linux
Mit nachfolgenden Befehl werden die notwendigen Komponenten aus dem Verzeichnis und dem Namen des Installations-RPM-Paketes hier z.B. /tmp/nxclient-3.3.0-6.i386.rpm
installiert:
# yum localinstall --nogpgcheck /tmp/nxclient-3.3.0-6.i386.rpm Loading "fastestmirror" plugin Setting up Local Package Process Loading mirror speeds from cached hostfile * update: linuxinstall * base: linuxinstall * addons: linuxinstall * extras: linuxinstall Examining /tmp/nxclient-3.3.0-6.i386.rpm: nxclient - 3.3.0-6.i386 Marking /tmp/nxclient-3.3.0-6.i386.rpm to be installed Resolving Dependencies --> Running transaction check ---> Package nxclient.i386 0:3.3.0-6 set to be updated --> Finished Dependency Resolution Dependencies Resolved ============================================================================= Package Arch Version Repository Size ============================================================================= Installing: nxclient i386 3.3.0-6 /tmp/nxclient-3.3.0-6.i386.rpm 9.7 M Transaction Summary ============================================================================= Install 1 Package(s) Update 0 Package(s) Remove 0 Package(s) Total download size: 9.7 M Is this ok [y/N]: y Downloading Packages: Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing: nxclient ######################### [1/1] Showing file: /usr/NX/share/documents/client/cups-info CUPS Printing Backend The NX Client set-up procedure detected that your "IPP CUPS" printing backend doesn't allow printing from the NX session. In order to have printing support in your NX system, you need to set proper permissions on the IPP backend. Please execute: chmod 755 /usr/lib/cups/backend/ipp Installed: nxclient.i386 0:3.3.0-6 Complete!
Installation Client für Windows
Nach der erfolgreichen Installation des Windows-Clients (via Doppelklick ), müssen noch ein paar Anpassungen vorgenommen werden.
Konfiguration der Client's
WICHTIG - Der hier neu angelegte Benutzer MUSS ein lokales Benutzerkonto besitzen, also in /etc/passwd
enthalten sein!!!
Desweiteren ist es erforderlich einen Benutzer mit einem lokalen Benutzerkonto im System, mit dem und auf dessen Desktop zugegriffen werden soll, ebenfalls dem nxserver
bekannt zugeben, was mit nachfolgenden Befehlen durchgeführt werden kann:
# nxserver --adduser jolanda NX> 100 NXSERVER - Version 3.2.0-73 OS (GPL, using backend: not detected) NX> 1000 NXNODE - Version 3.2.0-73 OS (GPL, using backend: not detected) NX> 716 Public key added to: /home/jolanda/.ssh/authorized_keys2 NX> 1001 Bye. NX> 999 Bye
und
# nxserver --passwd jolanda NX> 100 NXSERVER - Version 3.2.0-73 OS (GPL, using backend: not detected) New password: Password changed. NX> 999 Bye
Der Inhalt der Datei /home/jolanda/.ssh/authorized_keys2
MUSS anschließend an eine bestehende Datei mit dem Namen /home/jolanda/.ssh/authorized_keys
angehängt werden, oder diese einfach kopiert werden, wie beide nachfolgenden Befehle zeigen:
Kopieren:
# cp -a /home/jolanda/.ssh/authorized_keys2 /home/jolanda/.ssh/authorized_keys
– oder –
Anhängen
# cat /home/jolanda/.ssh/authorized_keys2 >> /home/jolanda/.ssh/authorized_keys
Unter Linux muss folgender private Schlüssel aus dem Verzeichnis /etc/nxserver/
mit dem Namen client.id_dsa.key
in das Installationsverzeichnis des NX Clients for Linux
kopiert werden, was nachfolgendes Verzeichnis wäre:
/usr/NX/share/keys/client.id_dsa.key
Unter Windows muss folgender private Schlüssel aus dem Verzeichnis /etc/nxserver/
mit dem Namen client.id_dsa.key
in das Installationsverzeichnis des NX Clients for Windows
kopiert werden, was nachfolgendes Verzeichnis wäre:
C:\Program Files\NX Client for Windows\share\keys\client.id_dsa.key
Konfiguration der Client's grafische Oberfläche
Die Konfiguration der Clients, wird hier ausnahmsweise anhand einer Konfiguration unter Windows©® Vista™ gezeigt:
1. Start des NX Connection Wizard
2. Hier sind die Angaben wie Sessionname, Host, Port und die Bandbreite einstellbar.
3. Hier wird festgelegt welcher X-Window-Manager auf dem Server läuft (hier GNOME) und welche Auflösung im Anzeigefenster dargestellt werden soll.
4. Hier kann (muss aber nicht) ein Desktop-Icon erstellt werden, jedoch was viel wichtiger ist, hier können die Erweiterten Einstellungsmöglichkeiten im nächsten Bildschirm zur Anzeige gebracht werden…
5. Auf diesem Reiter ist der Button - Key, auf dessen Seite mit einem Klick der linken Maustaste gewechselt werden soll.
6. WICHTIG - Der vorhandene Key ist UNWICHTIG, es muss ein anderer Key wie nachfolgend dargestellt importiert werden!
7. WICHTIG - Folgender Key muss aus dem Verzeichnis C:\Program Files\NX Client for Windows\share\keys\client.id_dsa.key
importiert werden!
8. Nach Eingabe des lokalen Benutzers unter Linux hier jolanda
und dem dazugehörigen Passwort…
9. …sollte dann eine Verbindung aufgebaut werden können!