FreeNX ist eine GPL-Implementierung des NXClients und NXServers basierend auf NoMachineNX. Über das NX-Protokoll kann man RDP, VNC und X tunneln. Gerade wenn man X über NX tunnelt steigt die Performance dramatisch, da roundtrips verringert werden und NX-Clients über Caching-Methoden verfügen. Dabei wird NX wiederum transparent über SSH getunnelt.
Homepage: http://freenx.berlios.de/ IRC: #nx (freenode)
Lizenz: GPL
Siehe auch:
Installation in einem Debian-Linux
Folgende zeilen zu /etc/apt/sources.list hinzufügen
deb http://archive.kalyxo.org/ staging main deb http://archive.kalyxo.org/ experimental main
und mittels 'apt-get install freenx' installieren
Funktioniert so nicht mehr: http://archive.kalyxo.org/ existiert nicht.
Kalyxo.org heißt jetzt ekhis.org: http://web.ekhis.org . Neue Mirrors sind in Vorbereitung. -- SebastianSchaper 2005-07-26 11:51:26
Genauere Erklärung und weitere Einträge für die sources.list: http://mail.kde.org/pipermail/freenx-knx/2005-July/001530.html
Tipps & Tricks
Ein Artikel von Pro-Linux: NX - Turbolader für Linux- und Windows-Terminalserver
Ein kleines englisches HowTo.
LTSP-Aufwerten
Section 4 - NX Client on LTSP
Notes
- The procedures described in this section to install, upgrade
- and remove the NX Client package assume that you installed the LTSP environment using the default installation settings. In this case your LTSP base directory is: '/opt/ltsp/i386'. Otherwise, please modify the value accordingly to reflect the specific settings of your environment.
Installing NX Client
- Login as the 'root' user to the LTSP server on which you want
- to install NX Client.
- Download the 'NX Client for LTSP' package and put it in the
- '/usr' subdirectory of the LTSP base directory.
- Chroot to the LTSP base directory:
- chroot /opt/ltsp/i386
- Change the current working directory to '/usr':
#> cd /usr
- Unzip and untar the compressed 'tar' archive:
#> tar -zxvf nxclient-X.Y.Z-WW.i386.tar.gz
- Copy the files in the '/usr/NX/share/profile.d' directory to
- the '/etc/profile.d' directory:
#> cp -a /usr/NX/share/profile.d/* /etc/profile.d/.
- the '/etc/profile.d' directory:
- Copy the '/usr/NX/share/screen.d/nxclient' file to the
- '/etc/screen.d' directory:
#> cp -a /usr/NX/share/screen.d/nxclient /etc/screen.d/.
- '/etc/screen.d' directory:
- Make a backup of the currents '/etc/lts.conf' and
- '/etc/ld.so.conf' files:
#> tar -zcvpf /root/LTSP-preNX.BACKUP.tar.gz /etc/lts.conf /etc/ld.so.conf
- '/etc/ld.so.conf' files:
- Protect sensitive informations eventually present inside the
- 'tar' archive, making the backup readable only by the 'root' user:
#> chmod 0600 /root/LTSP-preNX.BACKUP.tar.gz
- 'tar' archive, making the backup readable only by the 'root' user:
10. Edit the '/etc/lts.conf' file by adding the line:
- SCREEN_XX = nxclient to each workstation definition section you want to enable NX Client for. Here we have indicated with 'XX' the LTSP 'screen number' of NX Client; for example if you want to enable NX Client on the screen number '3' of your workstation put the following line into the specific section for this workstation: SCREEN_03 = nxclient
11. Edit the '/etc/ld.so.conf' by adding the line:
- /usr/NX/lib
12. Run the 'ldconfig' command to activate the changes you made
- to the dinamic linker configuration file:
#> ldconfig
13. Exit from the chrooted environment to return to the original
- root shell prompt:
#> exit
14. Logout:
#> exit
§"$%&/())==?`
Fragen
- Frage: Ist es damit möglich, eine graphische Fernwartung von User zu betreiben? z.B.: User ruft an, Admin macht Fernwartung auf und sieht im zu wie er das Problem beschreibt, zeigt ihm, wie man X richtig macht etc.? Oder gibt es unter Unix (außer VNC) eine andere Lösung dafür?
- Ja und Nein: Lass einen VNC-Server auf localhost laufen und verbinde dich über NX mit VNC als backend auf den Host (auf die IP-Adresse des externen Interfaces) und dann auf den VNC-Server (localhost/127.0.0.1). Die unkomprimierten/unverschlüsselten Daten laufen jetzt nur über loopback.
- Konkret: Auf dem Server-Desktop die Arbeitsfläche freigeben (Kontrollzentrum-Internet-Arbeitsfläche freigeben). Im NX-Client kdrc ("Arbeitsfläche fernsteuern") aufrufen und als Adresse "localhost:0" angeben.
Frage: Die Wiederaufnahme einer suspended Session funktioniert hier nicht mehr. Dadurch ist eine erneute Verbindung mit meinem Server nicht mehr möglich. Wie werde ich diese Session wieder los? Und gibt es ein HowTo, wie ich FreeNX auf Suse 9.2 dazu bekomme, daß dies künftig problemlos funktioniert?
* Dazu eine Antwort: Der derzeitige (März 2006) von NoMachine zur Verfügung gestellte Windows-Client in der Version 1.5.X hat Probleme mit dem Resume. Der Client in der Version 1.4.X sollte Abhilfe schaffen. Unterschiede in der Performance habe ich nicht feststellen können. Ich fand diesen Client hier: http://www.industrial-statistics.com/info/nxclients?IndStats=a4d91f5f55213ad6799e2ec4a32c895e
* Noch ein Hinweis: Ich hatte große Probleme bei dem Versuch von Windows auf den FreeNX Server zuzugreifen. Als Ursache stellte sich heraus, daß ich zusätzlich noch eine Version von OpenSSH auf der Windows-Kiste installiert hatte. Der NXClient verwendet ein paar dlls, welche bei der Windows-Variante von OpenSSH in anderer Version vorliegen. nxssh erkennt dies und weis nicht was er tun soll. Daher macht er erst mal nichts. Dummerweise erfolgt keine Mitteilung sondern der "Connect-Bildschirm" läuft sich tot. Nach einer Deinstallation des OpenSSH war dann alles prima.
Frage: Ich habe nxclient-XXX.tgz von NOMACHINE geladen, nach dem Auspacken gibt es da keine Verzeichnisse profile.d und screen.d in /usr/NX/share, wo kann ich den richtigen Archiv runter laden?