Difference between revisions of "FreeNX"
From Linuxintro
imported>ThorstenStaerk |
imported>ThorstenStaerk |
||
(6 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | + | FreeNX allows you to set up a [[terminal server]]. | |
+ | |||
+ | = 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 = | ||
− | This is how I installed a FreeNX server on SUSE 13. | + | This is how I installed a FreeNX server on SUSE 13.1 on 2014-07-19: |
* [[open a console]] and enter | * [[open a console]] and enter | ||
# yast -i expect rdesktop | # yast -i expect rdesktop | ||
− | # wget http://download.opensuse.org/repositories/home:/beyerle:/NX/openSUSE_13.1/ | + | # wget http://download.opensuse.org/repositories/home:/beyerle:/NX/openSUSE_13.1/$(uname -i)/NX-3.5.0-123.1.x86_64.rpm |
− | # wget http://download.opensuse.org/repositories/home:/beyerle:/NX/openSUSE_13.1/ | + | # wget http://download.opensuse.org/repositories/home:/beyerle:/NX/openSUSE_13.1/x86_64/FreeNX-0.7.3-7.1.$(uname -i).rpm |
− | # rpm -ivh NX-3.5.0-123.1. | + | # rpm -ivh NX-3.5.0-123.1.*.rpm FreeNX-0.7.3-7.1.*.rpm |
* read how to set it up | * read how to set it up | ||
# cat /usr/share/doc/packages/FreeNX/README.SuSE | # cat /usr/share/doc/packages/FreeNX/README.SuSE | ||
* set it up | * set it up | ||
# nxsetup --setup-nomachine-key | # nxsetup --setup-nomachine-key | ||
+ | * Now connect with any NX client to the NX server. The connection does not work for me, I get an error message | ||
+ | The NX service is not available or the NX access | ||
+ | was | ||
+ | disabled on host ... | ||
+ | * To solve this problem, you need a private/public key pair. Generate one with the command | ||
+ | ssh-keygen -t dsa | ||
+ | The command will ask where to put the key pair. The private key will be named id_dsa and the public key will be named id_dsa.pub. Add the public key to /var/lib/nxserver/home/.ssh/authorized_keys and import the private key into your NX client. The re-login using your NX client. | ||
= TroubleShooting = | = TroubleShooting = | ||
Line 31: | Line 45: | ||
Can't open /var/lib/nxserver/db/running/sessionId{CBE6C1DE8281C9A77A5F72F05947EE1F}: No such file or directory. | 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 | mv: cannot stat `/var/lib/nxserver/db/running/sessionId{CBE6C1DE8281C9A77A5F72F05947EE1F}': No such file or directory | ||
− | : Possible workaround: re-install the NX server | + | : Possible workaround: re-install the NX server using the command |
+ | nxsetup | ||
* You get an error when logging in | * You get an error when logging in |
Latest revision as of 06:46, 10 August 2014
FreeNX allows you to set up a terminal server.
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.1 on 2014-07-19:
- open a console and enter
# yast -i expect rdesktop # wget http://download.opensuse.org/repositories/home:/beyerle:/NX/openSUSE_13.1/$(uname -i)/NX-3.5.0-123.1.x86_64.rpm # wget http://download.opensuse.org/repositories/home:/beyerle:/NX/openSUSE_13.1/x86_64/FreeNX-0.7.3-7.1.$(uname -i).rpm # rpm -ivh NX-3.5.0-123.1.*.rpm FreeNX-0.7.3-7.1.*.rpm
- read how to set it up
# cat /usr/share/doc/packages/FreeNX/README.SuSE
- set it up
# nxsetup --setup-nomachine-key
- Now connect with any NX client to the NX server. The connection does not work for me, I get an error message
The NX service is not available or the NX access was disabled on host ...
- To solve this problem, you need a private/public key pair. Generate one with the command
ssh-keygen -t dsa
The command will ask where to put the key pair. The private key will be named id_dsa and the public key will be named id_dsa.pub. Add the public key to /var/lib/nxserver/home/.ssh/authorized_keys and import the private key into your NX client. The re-login using your NX client.
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 using the command
nxsetup
- 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 $