FreeNX

From Amahi Wiki
Jump to: navigation, search
Msgbox.update.png Update Needed
The contents of this page have become outdated or irrelevant. Please consider updating it.

NX is a technology for secure remote access - for example, you may want to run your Amahi Server headless (no monitor) and access a full graphical desktop environment on your server from another computer such as a Windows, Apple or Linux machine. NX provides both security and near local speed application responsiveness over high latency, low bandwidth links. The core libraries for NX are provided by NoMachine under the GPL. FreeNX is a GPL implementation of the NX Server and NX Client Components. More information can be found FreeNX project page or Wikipedia.

Some users have found FreeNX gives far superior responsiveness to alternative VNC remote access approaches.

Following are the steps to get FreeNX up and running. It is fairly straight forward and easy, although there is one point that can be a little confusing but that is during the client setup, not the server. Basically, you need to install and configure the FreeNX Server onto your Amahi / FreeNX Server machine and then install a FreeNX client on every computer you may want to initiate the remote access from.

Installation - FreeNX Server

Fedora

First, log into your hda and open a terminal window.

Second, run this command to install FreeNX:

yum install freenx-server

That's it. FreeNX should now be installed and running on your HDA. In order to use FreeNX, you will need a client to connect with. Go to http://www.nomachine.com/download.php and select the one for your appropriate operating system.

After downloading and installing the client, you will need to copy the client.id_dsa.key into the client. What I did was to scp the key from my server (/etc/nxserver/client.id_dsa.key) to my local system, open the file in a text editor, copy everything in it and paste it into the client. In my client this was under "Configure" then on the "General" tab, there is a button labeled "Key". This is where I pasted the client key information.

  • NOTE* If you miss or overlook the step for the client key configuration, the client will attempt to use a default key for the HDA, and this does not work.

Finally, save the configuration, and then run the client to log into the HDA.

Since the Fedora 12 update some users have reported the following error when trying to log into their HDA after installing using the method above.

cat: /var/lib/nxserver/db/running/sessionId{(STDIN)}: 
   No such file or directory NX> 280 Exiting on signal: 15

A work around for this is to open:

/etc/nxserver/node.conf

And add the following to the end of the file: COMMAND_MD5SUM="md5sum" .

Alternative Approach - Install NoMachine NX Free Server

In case you receive any error messages or notification from Fedora that some applications (like gnome-settings-daemon) crashed, you might want to install free NX server from Nomachine web site. Note the main difference with this software is that NX Free Edition is licensed as proprietary ( 2 connections limit) unlike FreeNX which is completely free Open Source Software

Go to Nomachine's web site and download NoMachine NX Free Server (http://www.nomachine.com/download-package.php?Prod_Id=1352) for Linux i386 RPM. It consists of three separate downloads: client RPM, node RPM and Server RPM. You can read on their web site detailed info on how to install it and in what order - pretty straightforward. Here is what you need to do to get it installed on Fedora 12:

1) Uninstall completely FreeNX server from your HDA (use Add/Remove software);

2) Go to your System Preferences-->Add Remove Software and do search for "audiofile" (without quotes). It will find for you a piece of software "audiofile-1:0.2.6" and "audiofile-devel-1:0.2.6. Install both development files and a library (Note: this should no longer be necessary after release 3.5).

3) Do search (the same Add/remove software) for "libstdc". It will find C++ libraries, different versions. Install latest ones in case they are not yet installed;

4) Do search (same place) for "GLIBC" - it will find a few libraries there. Install the latest ones in case they are not yet installed

That's it. Then go to terminal and do "sudo rpm -i" command for all three packages that you downloaded before. Here are the commands (you need to run these from the folder where you have dowloaded them):

cd /home/USERNAME/Downloads/
rpm -Uvh nxclient-3.4.0-5.i386.rpm
rpm -Uvh nxnode-3.4.0-6.i386.rpm
rpm -Uvh nxserver-3.4.0-8.i386.rpm

You need to install them in order: client, node, server.

It may complain something about permissions for CUPS that you may just ignore. Or if you want, you can follow the instructions the installer gives you, and fix permission problem and re-install. Keep in mind, that these three packages are easily removable thru Add/Remove interface in System Preferences.

Ubuntu

You are in luck! A chap named Shannon VanWagner created a script that makes the installation and configuration on Ubuntu 12.04 super easy. His page (including instructions on how to install manually) and the link for the script can be found at FreeNX How to Install FreeNx on Ubuntu 12.04

To Run Script:

  1. Download script to the Amahi Server
  2. Extract script from downloaded tar file
  3. Open terminal window, go to director with the script and type
sudo sh heInstallFreeNX.sh

If the script runs successfully, it should return a message saying Script Complete! Now you should be able to connect to this server using qtnx or the NX free client from nomachine.com.

If you receive errors running the script, it may be that you have a previous failed installation of FreeNx on your system. Try to completely remove FreeNx before attempting this script.

FreeNX Client Installation

Last step: you'll need to install a FreeNx client on each computer that you want to initiate remote access into your Amahi / FreeNX Server.

The simplest way is to get a client for various Operating System platforms (Mac OS, Windows, Linux) is downloading a proprietary but free client from NoMachines website. An alternative is the open source qtnx.

Download and install NX client software from the same Nomachine's web site. You need to install client software on the machine that you want to access your HDA from. Once installed, you can run it with default Key and default settings. Just choose Configure button, and on General tab, choose UNIX---Gnome for the desktop. No need to export/import Keys - can run with default installed keys. For added security, you can later change Keys as described in their knowledge base (article #AR01C00126).

When the gnome desktop loads, you will may get a message that Gnome Power Manager crashed. Ignore it - everything works fine.

Troubleshooting NX

  1. The /etc/hosts file must contain an entry for your HDA which may not be there. If NX is failing to connect to your HDA, check /etc/hosts for an entry as follows: [IP address] [localhost.localdomain] [localhost alias]. This info can be easily entered from your gnome desktop: System > Administration > Network > Hosts Tab.
  2. The default security keys should match in the server and client, but that could be a reason for not connecting. Check the documentation on the NoMachine website for how to copy the key.
  3. There is a detailed server administration manual on the NoMachine website, but the information above is sufficient for an install with basic security.