Remote Access mit NX NoMachine

no machine LogoMit Hilfe von NX, einer Remote-Desktop-Software der Firma NoMachine, können wir auf den Bildschirminhalt eines entfernten Computers oder Servers von einem lokalen Rechner zugreifen. Dabei ist es egal welche Betriebssysteme zum Einsatz kommen. Somit könnte man zum Beispiel an zentraler Stelle mit einem leistungsfähigen Server aufsetzen, auf dem man dann mit älteren Rechnern oder Thin Clients zugreift und arbeitet. Auch Support und Remote-Access ist somit einrichtbar.

Ein großer Vorteil von NX ist, dass selbst bei einer Modemverbindung mit nur 40 kBit/s Datenübertragungsrate ein flüssiges Arbeiten möglich ist. Ein weiterer Hauptvorteil von NX gegenüber dem X11 Protokoll liegt darin, dass NX ähnlich wie VNC seamless connections unterstützt. So kann eine bestehende Verbindung zu einem NX Server getrennt und später wieder von einem anderen Rechner aufgenommen werden. Laufende Programme verrichten dabei auf dem Zielsystem weiterhin ihren Dienst.

Als Übertragungsprotokoll wird dabei ein SSH-X-Tunnel genutzt.

Sowohl die Basis-Bibliotheken wie auch die wichtisten Kernbestandteile von NX wurden von der Firma NoMachine unter die freie Lizenz GPL gestellt. Somit lassen sich sie auch in freie Desktops wie Gnome oder KDE integrieren. Nur die zentrale Client- und die Serverapplikation ist proprietär.

Installation

Als erstes installieren wir uns die benötigten Server-Komponenten via YUM.

 # yum install nx freenx

Was uns die beiden Pakete mitliefern, offentbart uns jeweils ein rpm -iql.

# rpm -iql nx
Name        : nx                           Relocations: (not relocatable)
Version     : 3.2.0                             Vendor: CentOS
...

...
Group       : Applications/Internet         Source RPM: nx-3.2.0-8.el5.centos.src.rpm
Size        : 7185322                          License: GPL, MIT/X11 for X11 bits
Signature   : DSA/SHA1, Di 15 Jul 2008 20:30:23 CEST, Key ID a8a447dce8562897
URL         : http://www.nomachine.com
Summary     : Proxy system for X11
Description :
NX provides a proxy system for the X Window System.
/usr/bin/nxagent
/usr/bin/nxesd
/usr/bin/nxproxy
/usr/bin/nxssh
/usr/lib/NX
/usr/lib/NX/lib
/usr/lib/NX/lib/libX11.so.6
/usr/lib/NX/lib/libX11.so.6.2
/usr/lib/NX/lib/libXcomp.so.3
/usr/lib/NX/lib/libXcomp.so.3.2.0
/usr/lib/NX/lib/libXcompext.so.3
/usr/lib/NX/lib/libXcompext.so.3.2.0
/usr/lib/NX/lib/libXcompshad.so.3
/usr/lib/NX/lib/libXcompshad.so.3.2.0
/usr/lib/NX/lib/libXext.so.6
/usr/lib/NX/lib/libXext.so.6.4
/usr/lib/NX/lib/libXrender.so.1
/usr/lib/NX/lib/libXrender.so.1.2.2
/usr/lib/NX/nxagent
/usr/lib/NX/nxesd
/usr/lib/NX/nxproxy
/usr/lib/NX/nxssh
/usr/share/doc/nx-3.2.0
/usr/share/doc/nx-3.2.0/GUUG-Presentation-NX.pdf
/usr/share/doc/nx-3.2.0/LICENSE
/usr/share/doc/nx-3.2.0/README.SuSE
/usr/share/doc/nx-3.2.0/nxcl
/usr/share/doc/nx-3.2.0/nxcl/html
/usr/share/doc/nx-3.2.0/nxcomp
/usr/share/doc/nx-3.2.0/nxcomp/README
/usr/share/doc/nx-3.2.0/nxscripts
/usr/share/doc/nx-3.2.0/nxscripts/CHANGELOG
/usr/share/doc/nx-3.2.0/nxscripts/COPYING
/usr/share/doc/nx-3.2.0/nxscripts/LICENSE
/usr/share/doc/nx-3.2.0/nxscripts/nxagent-service
/usr/share/doc/nx-3.2.0/nxscripts/nxreplace
/usr/share/doc/nx-3.2.0/nxscripts/run-nxagent
/usr/share/doc/nx-3.2.0/nxscripts/run-nxagent-client
/usr/share/doc/nx-3.2.0/nxscripts/run-nxagent-full
/usr/share/doc/nx-3.2.0/nxscripts/run-nxagent-nxfs
/usr/share/doc/nx-3.2.0/nxscripts/run-nxagent-server
/usr/share/doc/nx-3.2.0/nxscripts/run-nxagent-shadow
/usr/share/doc/nx-3.2.0/nxscripts/run-nxagent-solaris
/usr/share/doc/nx-3.2.0/nxscripts/run-nxagent-windows
/usr/share/doc/nx-3.2.0/nxscripts/run-nxdesktop
/usr/share/doc/nx-3.2.0/nxscripts/run-nxdesktop-client
/usr/share/doc/nx-3.2.0/nxscripts/run-nxdesktop-server
/usr/share/doc/nx-3.2.0/nxscripts/run-nxproxy
/usr/share/doc/nx-3.2.0/nxscripts/run-nxproxy-client
/usr/share/doc/nx-3.2.0/nxscripts/run-nxproxy-connect
/usr/share/doc/nx-3.2.0/nxscripts/run-nxproxy-reversed
/usr/share/doc/nx-3.2.0/nxscripts/run-nxproxy-server
/usr/share/doc/nx-3.2.0/nxscripts/run-nxproxy-thread
/usr/share/doc/nx-3.2.0/nxscripts/run-nxviewer
/usr/share/doc/nx-3.2.0/nxscripts/run-nxviewer-client
/usr/share/doc/nx-3.2.0/nxscripts/run-nxviewer-server
/usr/share/doc/nx-3.2.0/nxscripts/run-rdesktop
/usr/share/doc/nx-3.2.0/nxscripts/run-x11perf
/usr/share/doc/nx-3.2.0/nxscripts/tar-nx-X11
/usr/share/doc/nx-3.2.0/nxscripts/tar-nx-X11-org
/usr/share/doc/nx-3.2.0/nxscripts/tar-nx-X11-org-updated
/usr/share/doc/nx-3.2.0/nxscripts/tar-nx-X11-updated
/usr/share/doc/nx-3.2.0/nxscripts/tar-nxagent
/usr/share/doc/nx-3.2.0/nxscripts/tar-nxauth
/usr/share/doc/nx-3.2.0/nxscripts/tar-nxauth-org
/usr/share/doc/nx-3.2.0/nxscripts/tar-nxclient
/usr/share/doc/nx-3.2.0/nxscripts/tar-nxcomp
/usr/share/doc/nx-3.2.0/nxscripts/tar-nxcompext
/usr/share/doc/nx-3.2.0/nxscripts/tar-nxcompsh
/usr/share/doc/nx-3.2.0/nxscripts/tar-nxcompshad
/usr/share/doc/nx-3.2.0/nxscripts/tar-nxdarwin
/usr/share/doc/nx-3.2.0/nxscripts/tar-nxdesktop
/usr/share/doc/nx-3.2.0/nxscripts/tar-nxesd
/usr/share/doc/nx-3.2.0/nxscripts/tar-nxkbd
/usr/share/doc/nx-3.2.0/nxscripts/tar-nxkdrive
/usr/share/doc/nx-3.2.0/nxscripts/tar-nxkill
/usr/share/doc/nx-3.2.0/nxscripts/tar-nxproxy
/usr/share/doc/nx-3.2.0/nxscripts/tar-nxscripts
/usr/share/doc/nx-3.2.0/nxscripts/tar-nxsensor
/usr/share/doc/nx-3.2.0/nxscripts/tar-nxservice
/usr/share/doc/nx-3.2.0/nxscripts/tar-nxspool
/usr/share/doc/nx-3.2.0/nxscripts/tar-nxssh
/usr/share/doc/nx-3.2.0/nxscripts/tar-nxsync
/usr/share/doc/nx-3.2.0/nxscripts/tar-nxuexec
/usr/share/doc/nx-3.2.0/nxscripts/tar-nxviewer
/usr/share/doc/nx-3.2.0/nxscripts/tar-nxwin
/usr/share/doc/nx-3.2.0/nxscripts/tar-nxwin-org
/usr/share/doc/nx-3.2.0/nxscripts/update-NX
/usr/share/doc/nx-3.2.0/nxscripts/update-NX-client
/usr/share/doc/nx-3.2.0/nxscripts/update-NX-server
/usr/share/doc/nx-3.2.0/nxscripts/update-NX-workstation
/usr/share/doc/nx-3.2.0/nxscripts/update-nx-X11
/usr/share/doc/nx-3.2.0/samples
/usr/share/doc/nx-3.2.0/samples/README
/usr/share/doc/nx-3.2.0/samples/run-nxagent-client
/usr/share/doc/nx-3.2.0/samples/run-nxagent-server
/usr/share/doc/nx-3.2.0/samples/run-nxapp
/usr/share/doc/nx-3.2.0/samples/run-nxproxy-client
/usr/share/doc/nx-3.2.0/samples/run-nxproxy-server

Sowie:

# rpm -iql freenx
Name        : freenx                       Relocations: (not relocatable)
Version     : 0.7.3                             Vendor: CentOS
...

...
Group       : Applications/Internet         Source RPM: freenx-0.7.3-1.el5.centos.src.rpm
Size        : 259532                           License: GPL
Signature   : DSA/SHA1, Di 28 Okt 2008 12:57:47 CET, Key ID a8a447dce8562897
URL         : http://freenx.berlios.de
Summary     : Freenx application/thin-client server
Description :
Freenx is an application/thin-client server based on nx technology.
NoMachine nx is the next-generation X compression and roundtrip suppression
scheme. It can operate remote X11 sessions over 56k modem dialup links
or anything better. This package contains a free (GPL) implementation
of the nxserver component.
/etc/nxserver
/etc/nxserver/node.conf.sample
/etc/rc.d/init.d/freenx-server
/usr/bin/nxcups-gethost
/usr/bin/nxdesktop_helper
/usr/bin/nxdialog
/usr/bin/nxkeygen
/usr/bin/nxloadconfig
/usr/bin/nxnode
/usr/bin/nxnode-login
/usr/bin/nxpasswd
/usr/bin/nxprint
/usr/bin/nxredir
/usr/bin/nxserver
/usr/bin/nxserver-helper
/usr/bin/nxsetup
/usr/bin/nxviewer_helper
/usr/share/doc/freenx-0.7.3
/usr/share/doc/freenx-0.7.3/AUTHORS
/usr/share/doc/freenx-0.7.3/CONTRIB
/usr/share/doc/freenx-0.7.3/COPYING
/usr/share/doc/freenx-0.7.3/ChangeLog
/usr/share/doc/freenx-0.7.3/nxacl.sample
/usr/share/doc/freenx-0.7.3/nxcheckload.sample
/var/lib/nxserver
/var/lib/nxserver/db
/var/lib/nxserver/db/closed
/var/lib/nxserver/db/failed
/var/lib/nxserver/db/running

Konfiguration

NX Server

Als erstes kopieren wir uns die mitgelieferte Musterkonfigurationsdatei in das Konfigurationsverzeichnis /etc/nxserver des FreeNX Server.

 # cp /etc/nxserver/node.conf.sample /etc/nxserver/node.conf

Anschließend bearbeiten wir diese Date und passen ggf. den vom sshd verwendeten Port an und aktivieren die Passdb_Authentication.

 # vim /etc/nxserver/node.conf
...
# This adds the passdb to the possible authentication methods
ENABLE_PASSDB_AUTHENTICATION="1"
...

...
# This directives controls the verbosity of the server-wide log.
NX_LOG_LEVEL=3
NX_LOGFILE=/var/log/nxserver.log
...

Unsere Logdatei nxserver.log legen wir nun noch an.

 # touch /var/log/nxserver.log

Und geben dem User nx die Zugriffsrechte auf die Datei.

 # chown nx:nx /var/log/nxserver.log

Anschließend kopieren wir die Datei authorized_keys2 in das Homeverzeichnis des Users nx.

 # cp -a /var/lib/nxserver/home/.ssh/authorized_keys2 /var/lib/nxserver/home/.ssh/authorized_keys

Unsere Änderung aktivieren wir nun mit einem Restart des FreeNX Servers.

 # service freenx-server restart

SSH Daemon

Damit sich der User nx auch via ssh einloggen darf, geben wir diesen User in der zentralen Konfigurationsdatei des SSH Daemon frei.

 # vim /etc/ssh/sshd_config
...
AllowUsers django nx

Unsere Änderung aktivieren wir nun mit einem Restart des SSH-Servers.

 # service sshd restart

erster Programmstart

Nun ist es an der Zeit unseren freenx-Server das erste mal zu starten.

 # service freenx-server start
 freenx-server starten:                                     [  OK  ]

automatisches Starten des Servers beim Systemstart

Damit nun unser freenx-Server beim Booten automatisch gestartet wird, nehmen wir noch folgende Konfigurationsschritte vor.

 # chkconfig freenx-server on

Anschließend überprüfen wir noch unsere Änderung:

 # chkconfig --list | grep freenx-server
 freenx-server   0:Aus   1:Aus   2:Ein   3:Ein   4:Ein   5:Ein   6:Aus

Download

Den Client laden wir uns von der NoMachine - NX Client for Linux - Seite herunter.

 # cd /usr/local/src/packages/
 # wget http://64.34.161.181/download/3.5.0/Legacy/nxclient-3.5.0-6.i386.rpm

Installation

Das soeben heruntergeladene RPM-Paket installieren wir nun mit:

 # yum localinstall --nogpgcheck /usr/local/src/packages/nxclient-3.5.0-6.i386.rpm

Was uns dieses Client-Paket mitliefert, offentbart uns jeweils ein rpm -iql.

 # rpm -qil nxclient
Name        : nxclient                     Relocations: (not relocatable)
Version     : 3.5.0                             Vendor: NoMachine
Release     : 6                             Build Date: Do 19 Mai 2011 17:53:25 CEST
Install Date: Do 28 Jul 2011 08:01:19 CEST      Build Host: build07
Group       : NoMachine NX                  Source RPM: nxclient-3.5.0-6.src.rpm
Size        : 9678135                          License: NoMachine License
Signature   : (none)
Packager    : NoMachine
URL         : http://www.nomachine.com/
Summary     : NX Client
Description :
NoMachine NX is a fast and scalable terminal server system based on the
X11 protocol. NX lets you work fluently even across slow links like modems
and provides a full set of administration tools that make it a complete
desktop virtualization solution for your organization.

This package contains the graphical front-end used to access X, RDP and RFB
sessions on a remote NX Server. It also includes NX X compression libraries
and utilities needed by both NX Client and Server.

Baseline:

nx-X11: 3.5.0-1
nxauth: 3.5.0-1
nxwin:  3.5.0-1
nxssh:  3.5.0-1
nxcomp: 3.5.0-1
nxesd:  3.5.0-2
nxkill: 3.5.0-1
nxservice: 3.5.0-2
nxcompsh: 3.5.0-1
nx-X11-compat: 3.5.0-1
/etc/profile.d/nx.csh
/etc/profile.d/nx.sh
/usr/NX
/usr/NX/bin
/usr/NX/bin/nxclient
/usr/NX/bin/nxesd
/usr/NX/bin/nxkill
/usr/NX/bin/nxprint
/usr/NX/bin/nxservice
/usr/NX/bin/nxssh
/usr/NX/lib
/usr/NX/lib/libXcomp.so
/usr/NX/lib/libXcomp.so.3
/usr/NX/lib/libXcomp.so.3.5.0
/usr/NX/lib/libXcompsh.so
/usr/NX/lib/libXcompsh.so.3
/usr/NX/lib/libXcompsh.so.3.5.0
/usr/NX/lib/libcrypto.so
/usr/NX/lib/libcrypto.so.0.9.8
/usr/NX/lib/libjpeg.so
/usr/NX/lib/libjpeg.so.62
/usr/NX/lib/libjpeg.so.62.0.0
/usr/NX/lib/libpng12.so
/usr/NX/lib/libpng12.so.0
/usr/NX/lib/libpng12.so.0.1.2.8
/usr/NX/lib/libz.so
/usr/NX/lib/libz.so.1
/usr/NX/lib/libz.so.1.2.3
/usr/NX/share
/usr/NX/share/applnk
/usr/NX/share/applnk/clean
/usr/NX/share/applnk/clean/.directory
/usr/NX/share/applnk/clean/nxclient-admin.desktop
/usr/NX/share/applnk/clean/nxclient-help.desktop
/usr/NX/share/applnk/clean/nxclient-wizard.desktop
/usr/NX/share/applnk/clean/nxclient.desktop
/usr/NX/share/applnk/mdk
/usr/NX/share/applnk/mdk/menu
/usr/NX/share/applnk/mdk/nxclient
/usr/NX/share/applnk/mime-kde
/usr/NX/share/applnk/mime-kde/nx-session.desktop
/usr/NX/share/applnk/mime-xdg
/usr/NX/share/applnk/mime-xdg/nomachine.xml
/usr/NX/share/applnk/network
/usr/NX/share/applnk/network-gnome
/usr/NX/share/applnk/network-gnome/.directory
/usr/NX/share/applnk/network-gnome/nxclient-admin-gnome.desktop
/usr/NX/share/applnk/network-gnome/nxclient-gnome.desktop
/usr/NX/share/applnk/network-gnome/nxclient-help-gnome.desktop
/usr/NX/share/applnk/network-gnome/nxclient-wizard-gnome.desktop
/usr/NX/share/applnk/network-rh8
/usr/NX/share/applnk/network-rh8/.directory
/usr/NX/share/applnk/network-rh8/nxclient-admin.desktop
/usr/NX/share/applnk/network-rh8/nxclient-help.desktop
/usr/NX/share/applnk/network-rh8/nxclient-wizard.desktop
/usr/NX/share/applnk/network-rh8/nxclient.desktop
/usr/NX/share/applnk/network/.directory
/usr/NX/share/applnk/network/nxclient-admin.desktop
/usr/NX/share/applnk/network/nxclient-help.desktop
/usr/NX/share/applnk/network/nxclient-wizard.desktop
/usr/NX/share/applnk/network/nxclient.desktop
/usr/NX/share/applnk/x-nxclient
/usr/NX/share/applnk/x-nxclient-direct
/usr/NX/share/applnk/x-nxclient-direct/.directory
/usr/NX/share/applnk/x-nxclient-direct/nxclient-admin.desktop
/usr/NX/share/applnk/x-nxclient-direct/nxclient-help.desktop
/usr/NX/share/applnk/x-nxclient-direct/nxclient-wizard.desktop
/usr/NX/share/applnk/x-nxclient-direct/nxclient.desktop
/usr/NX/share/applnk/x-nxclient-kde
/usr/NX/share/applnk/x-nxclient-kde/.directory
/usr/NX/share/applnk/x-nxclient-kde/nxclient-admin-kde.desktop
/usr/NX/share/applnk/x-nxclient-kde/nxclient-help-kde.desktop
/usr/NX/share/applnk/x-nxclient-kde/nxclient-kde.desktop
/usr/NX/share/applnk/x-nxclient-kde/nxclient-wizard-kde.desktop
/usr/NX/share/applnk/x-nxclient/.directory
/usr/NX/share/applnk/x-nxclient/nxclient-admin.desktop
/usr/NX/share/applnk/x-nxclient/nxclient-help.desktop
/usr/NX/share/applnk/x-nxclient/nxclient-wizard.desktop
/usr/NX/share/applnk/x-nxclient/nxclient.desktop
/usr/NX/share/applnk/xdg-x
/usr/NX/share/applnk/xdg-x-direct
/usr/NX/share/applnk/xdg-x-direct/nxclient.directory
/usr/NX/share/applnk/xdg-x-direct/nxclient.menu
/usr/NX/share/applnk/xdg-x/nxclient.directory
/usr/NX/share/applnk/xdg-x/nxclient.menu
/usr/NX/share/cups
/usr/NX/share/cups/mime.convs
/usr/NX/share/cups/mime.types
/usr/NX/share/documents
/usr/NX/share/documents/client
/usr/NX/share/documents/client/cups-info
/usr/NX/share/documents/client/license-info
/usr/NX/share/documents/client/readme-info
/usr/NX/share/fonts
/usr/NX/share/fonts/TTF
/usr/NX/share/fonts/TTF/encodings.dir
/usr/NX/share/fonts/TTF/fonts.dir
/usr/NX/share/fonts/TTF/fonts.scale
/usr/NX/share/fonts/TTF/luximb.ttf
/usr/NX/share/fonts/TTF/luximbi.ttf
/usr/NX/share/fonts/TTF/luximr.ttf
/usr/NX/share/fonts/TTF/luximri.ttf
/usr/NX/share/fonts/TTF/luxirb.ttf
/usr/NX/share/fonts/TTF/luxirbi.ttf
/usr/NX/share/fonts/TTF/luxirr.ttf
/usr/NX/share/fonts/TTF/luxirri.ttf
/usr/NX/share/fonts/TTF/luxisb.ttf
/usr/NX/share/fonts/TTF/luxisbi.ttf
/usr/NX/share/fonts/TTF/luxisr.ttf
/usr/NX/share/fonts/TTF/luxisri.ttf
/usr/NX/share/fonts/base
/usr/NX/share/fonts/base/10x20-ISO8859-1.pcf.gz
/usr/NX/share/fonts/base/5x7-ISO8859-1.pcf.gz
/usr/NX/share/fonts/base/5x8-ISO8859-1.pcf.gz
/usr/NX/share/fonts/base/6x10-ISO8859-1.pcf.gz
/usr/NX/share/fonts/base/6x12-ISO8859-1.pcf.gz
/usr/NX/share/fonts/base/6x13-ISO8859-1.pcf.gz
/usr/NX/share/fonts/base/6x13B-ISO8859-1.pcf.gz
/usr/NX/share/fonts/base/6x13O-ISO8859-1.pcf.gz
/usr/NX/share/fonts/base/6x9-ISO8859-1.pcf.gz
/usr/NX/share/fonts/base/7x13-ISO8859-1.pcf.gz
/usr/NX/share/fonts/base/7x13B-ISO8859-1.pcf.gz
/usr/NX/share/fonts/base/7x13O-ISO8859-1.pcf.gz
/usr/NX/share/fonts/base/7x14-ISO8859-1.pcf.gz
/usr/NX/share/fonts/base/7x14B-ISO8859-1.pcf.gz
/usr/NX/share/fonts/base/8x13-ISO8859-1.pcf.gz
/usr/NX/share/fonts/base/8x13B-ISO8859-1.pcf.gz
/usr/NX/share/fonts/base/8x13O-ISO8859-1.pcf.gz
/usr/NX/share/fonts/base/9x15-ISO8859-1.pcf.gz
/usr/NX/share/fonts/base/9x15B-ISO8859-1.pcf.gz
/usr/NX/share/fonts/base/9x18-ISO8859-1.pcf.gz
/usr/NX/share/fonts/base/9x18B-ISO8859-1.pcf.gz
/usr/NX/share/fonts/base/cursor.pcf.gz
/usr/NX/share/fonts/base/encodings.dir
/usr/NX/share/fonts/base/fonts.alias
/usr/NX/share/fonts/base/fonts.dir
/usr/NX/share/icons
/usr/NX/share/icons/16x16
/usr/NX/share/icons/16x16/application-nx-session.png
/usr/NX/share/icons/16x16/nxclient-admin.png
/usr/NX/share/icons/16x16/nxclient-desktop.png
/usr/NX/share/icons/16x16/nxclient-icon.png
/usr/NX/share/icons/16x16/nxclient-wizard.png
/usr/NX/share/icons/22x22
/usr/NX/share/icons/22x22/application-nx-session.png
/usr/NX/share/icons/22x22/nxclient-admin.png
/usr/NX/share/icons/22x22/nxclient-desktop.png
/usr/NX/share/icons/22x22/nxclient-icon.png
/usr/NX/share/icons/22x22/nxclient-wizard.png
/usr/NX/share/icons/32x32
/usr/NX/share/icons/32x32/application-nx-session.png
/usr/NX/share/icons/32x32/nxclient-admin.png
/usr/NX/share/icons/32x32/nxclient-desktop.png
/usr/NX/share/icons/32x32/nxclient-icon.png
/usr/NX/share/icons/32x32/nxclient-wizard.png
/usr/NX/share/icons/48x48
/usr/NX/share/icons/48x48/application-nx-session.png
/usr/NX/share/icons/48x48/nxclient-admin.png
/usr/NX/share/icons/48x48/nxclient-desktop.png
/usr/NX/share/icons/48x48/nxclient-icon.png
/usr/NX/share/icons/48x48/nxclient-wizard.png
/usr/NX/share/images
/usr/NX/share/images/about-down.png
/usr/NX/share/images/about-up.png
/usr/NX/share/images/connect-01.png
/usr/NX/share/images/connect-02.png
/usr/NX/share/images/connect-03.png
/usr/NX/share/images/connect-04.png
/usr/NX/share/images/connect-fail-01.png
/usr/NX/share/images/error.png
/usr/NX/share/images/folder-shared-disabled.png
/usr/NX/share/images/folder-shared.png
/usr/NX/share/images/info.png
/usr/NX/share/images/kill-dsb.png
/usr/NX/share/images/kill.png
/usr/NX/share/images/logo-small.png
/usr/NX/share/images/logo.png
/usr/NX/share/images/monitor-arrow-over.png
/usr/NX/share/images/monitor-arrow.png
/usr/NX/share/images/monitor-box.png
/usr/NX/share/images/monitor-icon.png
/usr/NX/share/images/monitor-mask.png
/usr/NX/share/images/monitor-message.png
/usr/NX/share/images/monitor-user-dsb.png
/usr/NX/share/images/monitor-user.png
/usr/NX/share/images/multimedia.png
/usr/NX/share/images/new-session-dsb.png
/usr/NX/share/images/new-session.png
/usr/NX/share/images/printer-default-icon-disabled.png
/usr/NX/share/images/printer-default-icon.png
/usr/NX/share/images/printer-icon-disabled.png
/usr/NX/share/images/printer-icon.png
/usr/NX/share/images/printer-shared-disabled.png
/usr/NX/share/images/printer-shared.png
/usr/NX/share/images/pulldown-close.png
/usr/NX/share/images/pulldown-suspend.png
/usr/NX/share/images/pulldown-terminate.png
/usr/NX/share/images/refresh-dsb.png
/usr/NX/share/images/refresh.png
/usr/NX/share/images/remove-dsb.png
/usr/NX/share/images/remove.png
/usr/NX/share/images/session-stats-01-dsb.png
/usr/NX/share/images/session-stats-01.png
/usr/NX/share/images/session-stats-02-dsb.png
/usr/NX/share/images/session-stats-02.png
/usr/NX/share/images/sharing.png
/usr/NX/share/images/terminate-dsb.png
/usr/NX/share/images/terminate.png
/usr/NX/share/images/view-log-dsb.png
/usr/NX/share/images/view-log.png
/usr/NX/share/images/warning.png
/usr/NX/share/images/wizard.png
/usr/NX/share/keyboards
/usr/NX/share/keys
/usr/NX/share/keys/server.id_dsa.key
/usr/NX/share/rgb

Konfiguration

Serverseite

Unser Nutzer, den wir nachfolgend einrichten werden, muss natürlich im System bereits bekannt seinn, d.h. er muss bereits einen Nutzeraccount haben. Auf den Desktop dieses Nutzers werden wir dann zukünftig den Zugriff ermöglichen. Diesen Nutzer geben wir nun dem NX Server bekannt.

# nxserver --adduser django
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/django/.ssh/authorized_keys2
NX> 1001 Bye.
NX> 999 Bye

Weiterhin hinterlegen wir das Zugangspasswort für den späteren NX Client.

Bei der Eingabe des Passwortes genau aufpassen, da dies nur 1x eingegeben werden muss!

# nxserver --passwd django
NX> 100 NXSERVER - Version 3.2.0-73 OS (GPL, using backend: not detected)
New password: 
Password changed.
NX> 999 Bye

Die somit erzeugte Schlüsseldatei /home/django/.ssh/authorized_keys2 fügen wir nun an die bestehende Datei authorized_keys im Verzeichnis /home/django/.ssh an.

 # cat /home/django/.ssh/authorized_keys2 >> /home/django/.ssh/authorized_keys

Anschließend kontrollieren wir noch die Dateizugriffsberechtigungen und passen diese bei Bedarf an.

 # chmod 600 authorized_keys
 # chown django.django authorized_keys

Clientseite

Die Konfiguration des Clients nehmen wir nun direkt über die GUI des NX Clients for Linux vor.

Diesen rufen wir über das Menü Anwendungen - Internet - NX Client for Linux auf, oder starten die GUI von der Konsole aus:

 $ /usr/NX/bin/nxclient

Wir klicken uns also durch die folgenden Fenster und geben jeweils die Daten unserer Arbeitsumgebung passend ein:

Im folgenden Fenster tragen wir den Hostnamen und die Portnummer ein, auf den wir später zugreifen wollen. Ferner geben wir der Sitzung einen eindeutigen Sitzungsnamen, unter der wir später die Verbindung aufbauen wollen. Die Netzwerkanbindung, die uns für den Zugriff zu Verfügung steht, wählen wir über den Schieberegler aus.

Hier legen wir fest, welcher Displaymanager auf dem Zielsystem läuft und wie groß die Bildschirmauflösung dort ist.

Für den schnellen und leichten Zugriff lassen wir uns eine Verknüpfung auf den Desktop legen. Da wir aber noch den Schlüssel für die Netzwerkverkbindung hinterlegen müssen, setzen wir das Häkchen bei Advanced Configuration dialog.

Im folgenden Fenster wählen wir die Schaltfläche Key aus.

Hier tragen wir nun den client.id_dsa.key den wir bei der Clientinstallation auf dem Server erzeugt hatten. Dieser befindet sich im Verzeichnis /var/lib/nxserver/home/.ssh/ auf den Server/Zielrechner!.

 # cat /var/lib/nxserver/home/.ssh/client.id_dsa.key

Zum Schluß speichern wir unsere Änderungen natürlich ab.

Clientverbindung aufbauen

Die Verbindung zu unserem Client rufen wir über das Menü Anwendungen - Internet - NX Client for Linux auf, oder starten die GUI von der Konsole aus:

 $ /usr/NX/bin/nxclient

Nach Eingabe unseres Passwortes, welches wir bei der Clientinstallation auf dem Server eingegeben hatten, wird die Verbindung zum Client aufgebaut.

Sofern bereits eine Session auf dem Zielhost für den gewählten Nutzer läuft, wir uns im Verbindungsdialog diese im folgenden Fenster zur Auswahl angeboten.

Die Verbindung zum Client wird aufgebaut:

Links

Cookies helfen bei der Bereitstellung von Inhalten. Durch die Nutzung dieser Seiten erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Rechner gespeichert werden. Weitere Information
  • centos/no_machine.txt
  • Zuletzt geändert: 20.04.2018 10:31.
  • (Externe Bearbeitung)