FreeNX Server HOWTO

Inhoud

Over...

NX is een een prachtig protocol voor toegang op afstand. Het is zowel snel als veilig en grafisch en open (in tegenstelling tot het telnetprotocol, dat alleen snel en open is).

NX is een client-server-protocol dat het mogelijk maakt om grafisch toegang te krijgen tot een daarvoor ingerichte machine. Het is gebaseerd op zowel SSH (voor de veiligheid) als X-compressie (voor de GUI en de snelheid), en NX is veel gemakkelijker te gebruiken dan het normale X-protocol.

Deze howto beschrijft hoe SUSE Linux 10.0 als een terminalserver is te gebruiken, hoe de boel te configureren, en hoe de verbinding te maken.

Korte geschiedenis

NoMachine heeft een paar jaar geleden deze software gemaakt en daarna de kernbibliotheek en commandoregelhulpmiddelen publiek vrijgegeven (onder de GPL). Kurt Pfeifle - iemand die bijdraagt aan KDE - heeft op basis van deze bibliotheek en hulpmiddelen een eerste bescheiden (niet uitgegeven) script gemaakt dat automatisch op afstand tot op zekere hoogte een NX sessie opzette. Nadat hij Fabian Franz (toen iemand die bijdroeg aan Knoppix en MPlayer) bij het NX-project betrok, starte Fabian een project, genaamd FreeNX, dat hetzelfde werkt als de implementatie van NoMchine's commerciële (gsloten broncode) product NXserver.

NoMachine geeft de kernbibliotheek nog stees vrij onder de GPL en stelt de NX-Cliënt gratis beschikbaar, waarbij deze vrij gedistribuëerd mag worden. Deze client kan gebruikt worden om toegang te krijgen tot de FreeNX servers. Wij - de gemeenschap - kunnen de GPL-implementatie van de FreeNX-server en de "knx"-client vrij gebruiken, hoewel deze laatste nog steeds vele mogelijkheden mist en niet wordt onderhouden.

Er is ook nog de client voor de 2X-server onder GPL. Dit is een ander commerciëelproduct dat gemaakt wordt door een ander bedrijf, maar wel de NX-kernbibliotheek gebruikt; het zou moeten werken met FreeNX.

Het opzetten

Als u net als ik met SUSE Linux 10.0 werkt dan moet u het pakket FreeNX (de server) met YaST installeren (freenx is aanwezig op de SUSE CD's/DVD) evenals client-software, pakket knx, om te testen op de lokale machine. U kunt de freeware NX Client (van www.nomachine.com/download) gebruiken of de open-source "knx" - de standaard KDE NX Client.

Na de installatie is het verder erg gemakkelijk.
Start konsole en ga met su in root-modus, daarna:

1.) laten we eerst even kijken of FreeNX is geïnstalleerd:

linux:/ #rpm -q FreeNX
FreeNX-0.4.4-4

Als er niets terugkomt dan moet FreeNX met YaST geïnstalleerd worden. Als er "FreeNX-0.4.4-4" terugkomt, zoals in mijn geval, dan is alles OK.

2.) Dit configureert de FreeNX-server: (met gebruik van de standaard sleutel)

linux:/ # nxsetup --install --setup-nomachine-key --clean

3.) start een NX-client - I gebruik die van NoMachine - en typ: localhost als mijn host, 22 als mijn SSH-poort - tenslotte is NX gebaseerd op SSH, mijn gebruikersnaam en wachtwoord, desktop: UNIX/KDE en zet de resolutie van het scherm, druk op ok - en - het werk fantastisch!

NX-in-actie schermafdruk:

Image:NX-In-Action.jpg

Gefeliciteerd ! ! ! U bent klaar!

De volgende paragrafen zijn optioneel voor geavanceerde NX-configuratie. Dit is niet nodig om NX te laten werken.

De terminalserver bedrijven

In de echte wereld is er voor het bedrijven van een terminalserver meer nodig dan alleen het configureren van de NX-server. Het vereist ook het aanmaken van gebruikers oo de server. Onder SUSE Linux is dat het eenvoudigst met Yast. Rest nog het configureren van de clients; er zijn twee manieren om dat te doen:

1) gebruik bestaande (Windows XX) werkstations en installeer er een NX-client op.

2) Gebruik een LiveCD met een NX-client. Knoppix vanaf v3.9+.

NOOT1: De SUSE Live-DVD voldoet niet aan de specificaties; het bevat geen NX-client en bevat geen UnionFS om deze te installeren. De SUSE Live-DVD kan toch gebruikt worden, maar u moet handmatig de NX-client installeren met een gebruikersaccount; het is dus moeilijker dan Knoppix.

NOTE2: FreeNX als een terminalserver is fantastisch, omdat het erg snel en veilig is, en de software beperkt het aantal gebruikers niet.Uw enige beperking is de kracht van uw server; de performance van uw CPU en de hoeveelheid RAM-geheugen.

Een noot bij de NX-clients

Er zijn twee soorten NX-clients, namelijk:

a) the freeware NoMachine's "NX-client" (niet opensource). Geavanceerde client.

b) en een opensource KDE "knx" client. Simpele client.

Elk wordt ondersteund op verschillende platvormen:

1) Windows 95...XP - u moet a gebruiken.

2) Mac OS X (ppc) - u moet a gebruiken.

3) Linux - u kunt kiezen a of b.

4) FreeBSD - u moet b gebruiken b.

5) Solaris (sparc) - u moet a gebruiken.

Een server can alleen een Linux- of UNIX-host zijn.
SUSE Linux 10.0 en hoger worden goed ondersteund. Andere UNIXen/Linuxen vereisen mogelijk compilatie van de broncode.
Noot van de vertaler: Nieuwere versies van SUSE hebben hogere versies voor FreeNX. Kijk ook naar de versie van het pakket NX dat automatisch wordt geïnstalleerd bij FreeNX. NX is de zogenaamde backend. De versie hiervan, die niet gelijk is aan de versie van FreeNX, wordt vaak genoemd in combinatie met de versie van de client. Niet elke versie van de client werkt samen met elke versie van NX.

Veranderen van de NX TCP-poort

Het veranderen van de NX-poort op de client is recht-toe-rechtaan, daarom kijken we hier alleen naar de server.

Omdat de FreeNX-server is gebaseerd op SSH is het veranderen van de NX-poort het veranderen van de SSH-poort anders werkt NX niet. De standaard TCP-poort voor SSH en dus NX is 22. De betrokken configuratiebestanden op SUSE Linux 10.0 en hoger zijn:

/etc/nxserver/node.conf

/etc/ssh/sshd_config

...en vergeet niet om de SSH-service nadien te herstarten.

Tip voor geavanceerde gebruikers:

Met deze techniek is het mogelijk een serie Linux systemen met verschillende distributies op te zetten, zelfs op uw thuis-PC, waarbij u virtualisatie (VMware/Qemu/Xen) gebruikt en elke virtuele NX-server luistert naar een verschillende poort. Dit is echt cool, want u kunt deze niet alleen benaderen vanaf uw eigen LAN maar ook vanaf elke plek in het internet!

Run-niveaus

De NX-server kan op run-niveau 3 of 5 draaien. De NX-server gebruikt geen videokaart, dus dit werkt.

De NX-client onder SUSE vereist wel run-niveau 5. Het run-niveau concept is afwezig onder Windows.

Om het run-niveau te weten te komen gebruik:

> who -r
       run-niveau 5  2006-04-24 17:33                   laatste=S


Ondersteuning van Internationaal Toetsenbord

De NX-Server vereist een kleine wijziging in /etc/nxserver/node.conf, als root, om NX-clients een andere instelling van het toetsenbord toe te staan dan de VS (QWERTY) instelling:

Zoek de regel in /etc/nxserver/node.conf op met:

  1. AGENT_EXTRA_OPTIONS_X=""

En verander deze in: AGENT_EXTRA_OPTIONS_X="-xkbdir /usr/share/X11/xkb"

Herstart uw NX-Server met: nxserver --restart

Herstel of maak opnieuw verbinding vanuit uw NX-Client en dat is het dan. U zou een werkend internationaal toetsenbord moeten hebben.

-Door Alexey Eremenko. 21.apr.2006.

-Internation Keyboard Support area by Xavier Colinot. 14.jul.2007

Als u een niveau hoger wilt, klik dan hier: Configuratie

Afkomstig van openSUSE NL, de Vrije Encyclopedie. "http://nl.opensuse.org/FreeNX_Server_HOWTO"