Difference between revisions of "FreeNX"

From Linuxintro
imported>ThorstenStaerk
imported>ThorstenStaerk
Line 1: Line 1:
 
The NX protocol aims at offering a stateful desktop session to remote users, like [[VNC]]. The most prominent difference is that NX requires less bandwidth. FreeNX is one implementation of the [[NX]] protocol.
 
The NX protocol aims at offering a stateful desktop session to remote users, like [[VNC]]. The most prominent difference is that NX requires less bandwidth. FreeNX is one implementation of the [[NX]] protocol.
 +
 +
= How NX works =
 +
* You call nxclient with your user
 +
* nxclient uses the nx user to connect to the NX server. This authentication works passwordless with a private key (the nomachine-key) in your nxclient and an authorized public key on the nx server. Private and public key must fit to each other.
 +
* nx's shell on the NX server is called nxserver which allows communication over the nx protocol
 +
* now your user name and password is transmitted and checked
 +
* then nxserver establishes the display connection
  
 
= SUSE 13.1 =
 
= SUSE 13.1 =
Line 12: Line 19:
 
* set it up
 
* set it up
 
  # nxsetup --setup-nomachine-key
 
  # nxsetup --setup-nomachine-key
 
Now it should work:
 
* You call nxclient with your user
 
* nxclient uses the nx user to connect to the NX server. This authentication works passwordless with a private key (the nomachine-key) in your nxclient and an authorized public key on the nx server. Private and public key must fit to each other.
 
* nx's shell on the NX server is called nxserver which allows communication over the nx protocol
 
* now your user name and password is transmitted and checked
 
* then nxserver establishes the display connection
 
  
 
= TroubleShooting =
 
= TroubleShooting =

Revision as of 13:18, 19 July 2014

The NX protocol aims at offering a stateful desktop session to remote users, like VNC. The most prominent difference is that NX requires less bandwidth. FreeNX is one implementation of the NX protocol.

How NX works

  • You call nxclient with your user
  • nxclient uses the nx user to connect to the NX server. This authentication works passwordless with a private key (the nomachine-key) in your nxclient and an authorized public key on the nx server. Private and public key must fit to each other.
  • nx's shell on the NX server is called nxserver which allows communication over the nx protocol
  • now your user name and password is transmitted and checked
  • then nxserver establishes the display connection

SUSE 13.1

This is how I installed a FreeNX server on SUSE 13.1x32 on 2014-07-19:

# yast -i expect rdesktop
# wget http://download.opensuse.org/repositories/home:/beyerle:/NX/openSUSE_13.1/i586/NX-3.5.0-123.1.i586.rpm
# wget http://download.opensuse.org/repositories/home:/beyerle:/NX/openSUSE_13.1/i586/FreeNX-0.7.3-7.1.i586.rpm
# rpm -ivh NX-3.5.0-123.1.i586.rpm FreeNX-0.7.3-7.1.i586.rpm
  • read how to set it up
# cat /usr/share/doc/packages/FreeNX/README.SuSE
  • set it up
# nxsetup --setup-nomachine-key

TroubleShooting

  • starting the nxagent, you get
/usr/NX/bin/nxagent: error while loading shared libraries: libXcomp.so.3: cannot open shared object file: No such file or directory
Download nxcomp from http://software.opensuse.org/package/libXcomp3 and install it. Copy libXcomp.* to /usr/lib.
  • during nxsetup, you get
strings: '/usr/bin/nxagent': No such file
Error: Could not find 1.5.0 or 2.[01].0 version string in nxagent. NX 1.5.0 or 2.[01].0 backend is needed for this version of FreeNX.
copy /usr/NX/bin/nxagent to /usr/bin
  • The connection fails during the "Negotiating link parameters" step.
Stop the fireWall on the target computer.
  • The connection fails after the "Authentication completed" step.

you get an error message like that:

NX> 1004 Error: NX Agent exited with exit status 1.
Can't open /var/lib/nxserver/db/running/sessionId{CBE6C1DE8281C9A77A5F72F05947EE1F}: No such file or directory.
mv: cannot stat `/var/lib/nxserver/db/running/sessionId{CBE6C1DE8281C9A77A5F72F05947EE1F}': No such file or directory
Possible workaround: re-install the NX server
  • You get an error when logging in
Test the connection using ssh, there may be no lines of text sent when logging in. So, e.g. not
hello world
$