FreeNX is a GPL version of NX, a fast Remote Display Client/Server Application.  NX makes it possible to run any graphical application across any network connection as if you were sitting in front of your TarHeel Linux computer.

Server-Side Install

In FreeNX world, server is the machine you would like to interact remotely.  Server can be a server in the machine room or a desktop in your office.  Even a laptop can be a FreeNX server.  Anyone with access to that host can bring up a remote display from that host on their FreeNX machine.

When building a TarHeel Linux server, remember to issue the following command after the machine is up on its static IP.

# yum install nx freenx

This will install the server-side code with configuration files saved in /etc/nxserver directory. No additional ports will be opened up, as FreeNX uses the ssh protocol and port 22.  By default, TarHeel Linux has port 22 opened for on campus access.

That is all one needs to do on FreeNX server.

Client-Side Install

The FreeNX client is not in our TarHeel Linux repository. It can be found at

There are FreeNX clients for Linux, Mac OS X, Solaris, and Windows.  Pick the client for your OS and install it on your OS per the instructions on the No Machine site.

Client-Side Setup for Windows

If you install NC Client for Windows, you should have a “NX Client for Windows” icon on the Windows desktop.  Double click on that icon will bring up the “NX Connection Wizard” window.

Click “Next” to open a new session.

Enter a Session name, a hostname (or IP address).  Port number should be 22.  Set the Type of Internet Connection to LAN and click “Next“.

To connect to a TarHeel Linux machine, select the connection type to “Unix” with “GNOME“.  Set the “Select size of your remote desktop” to meet your needs.  Do NOT check the “Disable encryption of all traffic“.  Click “Next” to proceed.

Choose if you want to “Create shortcut on desktop” and then select “Show the Advanced Configuration dialog” box and then select “Finish“.

In the advanced dialog window under the “General” tab, you should see the items you have already entered.  Click “Key” button will bring up the following window.

You will need to ssh into the server which you are trying to connect and change directory to /etc/nxserver and open the file client.id_dsa.key as root.  Copy all the text and replace the one in the “General – Key Management” window.  Click “Save” to continue.

You should now be able to log on to your TarHeel Linux machine and opne desktop from the NX client.  Enter your ONYEN and your ONYEN password to do that.

Client-Side Setup for Linux

The option to open the NX Client for Linux/NX Connection Wizard should be available on the pull-down under Applications/Internet from your top taskbar. Alternatively, this dialog can be started from a terminal session:

prompt$ nxclient --wizard

Follow the instructions, and use the [Next>] button to start.

You will be prompted for a Session name – it is often easiest to use the unqualified hostname of the server here. Following that, the Host should be the fully qualified hostname of the target server. Port 22 is the default – and should remain so. Use the slider to chose a WAN connection and the [Next>] button to continue.

Unix is the default, and if you are on a TarHeel Linux host, is correct, although Gnome should be chosen in favor of KDE as the default. We have found that 1024×768 is a good area unless you are dealing with a very small monitor.

The [Next>] button will give you the option to create a shortcut on your desktop, and we generally decline. However, it is a good idea to check the “Show the Advanced Configuration dialog” box.

The [Finish] button will show a review of what you have chosen. DO NOT click [Ok] yet!!

There is one more very important step which needs to be completed at this point. We need to replace a default Key with the key from the target server. Click on the box marked [Key…] and highlight and delete the existing key. Leave this dialog box open on your desktop while you get the proper key.

It will be necessary to open up a terminal session to your target server, as you will need to get the key which your client will store. On the server, you will need to be root.

server$ su -
# cd /etc/nxserver
# cat  client.id_dsa.key

Using the window’s copy/paste buttons, highlight and copy the contents of this key file and go back to the NX configuration window. Use the paste function to fill in the value of the key and request [Save].

Once you are back to the summary page, again request [Save]. You will be given the opportunity to test this configuration by connecting to the target server using the NX client dialog box.

If you repeat this for each server you want NX access to, you will discover that the NX Connection session will give you a drop-down list under the Host selection which will list all the servers you have set up.