Install and configure freenx-server

by
Share this Article: Facebook0Google+0Twitter0LinkedIn0Reddit0StumbleUpon0

The freenx-server (on F10) is not working fine , here a little howto for configuring it.
Valid for freenx-server 0.7.3 for Fedora 10

Before starting, you should be sure that you have a running and working ssh daemon.

1) Become root

 sudo su -

2) Install freenx-server and xorg-x11-fonts-misc

 yum install freenx-server xorg-x11-fonts-misc

The last package is perhaps not needed, but I installed it as I read somewhere that it is needed.

3) Put selinux in permissive mode

 setenforce 0

4) Add following path to /root/.bash_profile

 PATH=$PATH:$HOME/bin:/usr/libexec/nx

5) “Load” the file again

 . /root/.bash_profile

6) Change to /usr/share/doc/freenx-server-0.7.3/

7) Execute nxsetup

 ./nxsetup --setup-nomachine-key

==> This will configure the freenx server using the standard key

8) If not already done, create the /etc/nxserver/node.conf and configure it (at least enable authentication via ssh and force encryption)

 cd /etc/nxserver
 cp node.conf.sample node.conf

9) Go back to /usr/share/doc/freenx-server-0.7.3 and test your freenx setup

 ./nxsetup --test

You should have some warning about some missing libraries…

10) Fixing 3 missing libraries problem. Change to /usr/lib64/nx/
ln -s libXcomp.so.3 libXcomp.so
ln -s libXcompext.so.3 libXcompext.so
ln -s libXrender.so.1.2.2 libXrender.so.1.2

11) Test again your freenx setup as in 9) . This time you should not have any other libraries warnings. If the nxserver is still not running, then start it:
nxserver –start

12) Install the NX client on another machine (on the same machine should also be fine) from Nomachine.com: http://www.nomachine.com/download.php .
The connection from the NX client should work this time.

13) The next time you reboot, SELinux will be again in enforcing mode and the connection with the NX client will not work anymore. The easiest thing is disable SELinux and you are done. If you do not want to disable SELinux, go on.
As we do not want to reboot now, we close the NX client connection and change SELinux mode again to enforcing
setenforce 1

14) Disable auditd
service auditd stop

15) Move /var/log/audit/audit.log somewhere else. For example
mv /var/log/audit/audit.log /var/log/audit/audit.log_currentDate

16) Enable again auditd
service auditd start

17) Try another connection with the NX client. This time it should not work… If you have a look in the freshly created /var/log/audit/audit.log, you will see some problems due to the authorized_keys file and SSHD. As I am not an SELinux expert, I followed the simple way… I generated a policy from the audit.log file :
cat /var/log/audit/audit.log | audit2allow -M freenx
semodule -i freenx.pp

You can have a look at the freenx.te file to see what policy was added.

18) For me, unfortunately, the NX client connection still did not work due to another SELinux problem. I repeated points 14) to 17), but I created a freenx2 module (instead of freenx). Do not forget then to install the newly created freenx2.pp policy (and not again freenx.pp).

19) The NX client connection worked this time for me…

For questions please refer to our Q/A forum at : http://ask.unixmen.com/

Share this Article: Facebook0Google+0Twitter0LinkedIn0Reddit0StumbleUpon0