How To Install and Configure freeNX

~ 2 minute

If you need to setup GUI access on a remote server system(Linux) and connect to it, you can try freeNX.
This is example how to install and configure freeNX in CentOS 5.

Server installation

On the server you want to control with freeNX you need to do next:

Install freenx using yum:

# yum install nx freenx

Copy minimal configuration file:

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

Enable PASSDB for NX Database User Authentication pass-through:

Uncomment and change the following line in /etc/nxserver/node.conf


Add a user account to the nxserver database ( the user account must already exist on the system as a standard linux user account):

# nxserver --adduser <username>

Give the user a password:

# nxserver --passwd <username>

Optional: If your SSH server is not at default port (22), you have to configure this also. So, open node.conf, find line #SSHD_PORT=22, uncomment it, set your port, and save changes.



Client installation

The NoMachine client needs to be downloaded from their site. Download the client that matches the operating system on your local machine.

After installing the NoMachine client open the NX Connection Wizard.

Enter a Session Name, Hostname or IP of the remote server system, SSH Port number of the remote server system (usually 22), and select your connection type, desktop system and the size of the desktop. In this case, for connection to CentOS, in desktop settings, select Unix, Gnome.


freenx - Jovica Ilic blog


In order for freeNX to function securely we need to copy the ssh key from the remote server system to the local machines NoMachine client software.

On the remote server system copy the client.id_dsa.key contents (including the —BEGIN— and —- END— lines):

# cat /var/lib/nxserver/home/.ssh/client.id_dsa.key

On the local client system open the NX client software and click on “Configure”:

Under the General tab, click “Key”

Delete the contents and paste in the contents from the remote server system/var/lib/nxserver/home/.ssh/client.id_dsa.key

Now connect using the username and password you created when you configured freeNX on the remote server system.


Common Error:

The nx service is not available or the nx access was disabled

The issue with the above error is that you copied the wrong ssh key and most likely followed the process from an old tutorial that told you to copy the key from /etc/nxserver or told you to create your own key. The key you should copy is found at /var/lib/nxserver/home/.ssh/client.id_dsa.key

If you liked the post, we should get connected - follow me on Twitter

Leave a Reply

Your email address will not be published. Required fields are marked *