FreeNX Server
Aus Gentoo Linux Wiki
| Installationsmethoden • LiveCDs • Kernel & Hardware • Laptops & Notebooks • Portage • System • Netzwerke & Services • X • Software • Anderes • alphabetischer HOWTO Index |
Inhaltsverzeichnis |
[Bearbeiten] Einleitung
Mit FreeNX kann man über schmalbandige Internetverbindungen (schon ab 40 KBit/s) auf eine X11-Sitzung zugreifen. Es basiert auf der Software von NoMachine.
[Bearbeiten] Installation
[Bearbeiten] Server installieren
Auf dem Server muss zunächst nxserver-freenx installiert werden. Dazu führt man folgenden Befehl aus:
emerge nxserver-freenx
Nach der Installation muß ggf. noch nxsetup ausgeführt werden, um z.B. den lokalen nx-Benutzer anzulegen:
nxsetup --install --setup-nomachine-key --clean --purge
Der Server muss nicht manuell oder etwa von Xinetd gestartet werden. Dies erledigt der Client beim einloggen via SSH selbst. Er startet den Server und dann den ausgewählten Window Manager.
[Bearbeiten] PaX / GrSecurity / Hardened Kernel
Benutzer der Kernel Sicherheitserweiterung PaX (Bestandteil von GrSecurity, zu finden u.a. im Gentoo Hardened Kernel) werden möglicherweise feststellen, das sich /usr/NX/bin/nxagent aus dem nxserver-freenx Paket nicht ausführen lässt. Dies äußert sich so, das vom NX Client keine Verbindung zum Server aufgebaut werden kann. Die Ursache dieses Problemes ist, dass eine Bibliothek (/usr/NX/lib/libXcompext.so.1) sog. Text Relocations beinhaltet und dass solche Bibliotheken nicht geladen werden dürfen, sofern in der Kernelkonfiguration
Non-executable page -> [*] Disallow ELF text relocations
also CONFIG_PAX_NOELFRELOCS=y gesetzt ist.
Um trotzdem nxagent (und auch xmessage, welches benötigt wird um den Abmeldedialog anzuzeigen) ausführen zu können, ist es notwendig, das PaX Feature "MPROTECT" für diese Programme zu deaktivieren. Durch folgenden Aufruf wird dies erreicht:
paxctl -m /usr/NX/bin/nxagent /usr/bin/xmessage
Desweiteren muss bei nxclient.bin das mprotect Feature deaktiviert sein. Die nxclient.bin Datei hat allerdings nicht die für paxctl notwendigen Header, so dass man hierbei mit chpax arbeiten muss:
chpax -m /usr/NX/bin/nxclient.bin
[Bearbeiten] Client installieren
Auf dem Client muss man nxclient installieren. Den Client installiert man mittels:
emerge nxclient/* Client installieren */
Soll der Server auch gleichzeitig als Client betrieben werden können, so muss man dort nicht nxclient installieren, sondern folgendes vor der Installation des Servers tun:
echo "net-misc/nxserver-freenx nxclient" >> /etc/portage/package.use emerge nxserver-freenx
Dies installiert den Client und anschließend den Server.
[Bearbeiten] Server konfigurieren
Auf dem Server muss man noch die Benutzer hinzufügen, die über FreeNX auf diesen zugreifen können sollen. Diese Benutzernamen müssen den "richtigen" Benutzernamen auf dem System entsprechen.
/usr/NX/bin/nxserver --adduser <Benutzername>
Für diese Benutzer sollte man noch ein Passwort setzen:
/usr/NX/bin/nxserver --passwd <Benutzername>
[Bearbeiten] Verwendung des Clients
Den NXClient startet man nun mittels:
nxclient
[Bearbeiten] Client unter Windows oder Mac OS X
Clients für andere Betriebssysteme kann man unter nomachine.com herunterladen. Bei der Einrichtung des Clients hilft ein Assistent, dies sollte also kein Problem sein, man sollte lediglich darauf achten, dass im Sitzungsnamen keine Leerzeichen sind, sonst kann unter anderem folgender Fehler auftreten:
Parse error in remote options string 'NX>'
