NX is a remote desktop type piece of software that lets you log in remotely to another linux computer. It is useful in that it lets you log in simultaneously with other users – that is, you can use it as well as another user as you log into a new session. It also works over SSH, so it’s secure. The data is compressed as well, so it’s pretty quick. In my experience, it’s much quicker than VNC, especially over the internet.
The server only works on computers running an X server, but the client works on any OS, so you can connect securely from Windows PCs to your home Linux box. This is really useful in public libraries, or when you are at a friends house, as you can use your own PC at almost native speed without any hassle.
Diagram showing how NX works. (Copyright NoMachine)
This only works to a normal X11 server, so Compiz Fusion or Beryl (or any other compositing window manager) doesn’t work over the connection, it’s only for standard window managers such as metacity, Kwin etc are fine.
Right then, let’s get going!
On your Linux pc (this tutorial is for Xandros, Debian and Ubuntu, though there are packages for Red Hat, Mandriva and Fedora as well), open a terminal and run:
sudo apt-get install openssh-server
To install the ssh server. This allows you to connect remotely using a normal shell. For more info on this, check the Ubuntu community page.
mkdir ~/nxdownloads
cd ~/nxdownloads
to make a directory to store the relevant packages.
wget http://64.34.161.181/download/3.0.0/Linux/nxclient_3.0.0-84_i386.deb
wget http://64.34.161.181/download/3.0.0/Linux/nxnode_3.0.0-93_i386.deb
wget http://64.34.161.181/download/3.0.0/Linux/FE/nxserver_3.0.0-79_i386.deb
to download the files.
run
sudo dpkg -i nxclient_3.0.0-84_i386.deb
sudo dpkg -i nxnode_3.0.0-93_i386.deb
sudo dpkg -i nxserver_3.0.0-79_i386.deb
to install the packages.
run
sudo /usr/NX/bin/nxserver --start
to start the server, changing start to status will let you know if it’s running or not.
On your Windows computer, download nxclient for Windows and install it. Notice how much more complex it is to download and install Windows software!
Once it’s installed, run it, and enter the IP address of your Linux computer to connect, give it a session name for your own reference, and choose your connection speed.

The next screen lets you choose what window manager to log in to, default is KDE – for Ubuntu, change that to Gnome.

Next, put in your username and password on your Linux computer – this is just your usual username and password.

The first time it will ask you if you trust the fingerprint of your computer. Say Yes – in future if you get this something has changed, so you might want to double check things. You should in theory only see this once.

Wait a few seconds for it to log in, and you will get something like this:

Brilliant!
I use this on my old laptop to make a poor mans thin client, I boot it up, then connect to my real computer to get the most out of it.
If you want to use this over the internet, remember to forward port 22 on your router to your Linux computer. You might want to use DynDNS.org to set up an alias for your dynamic IP address if you have one to make things easier.


Richard, thanks for your comment on our article. Drop me a line telling me more about what you do and your blog – there is not a lot in the “about” section.
cheers
Mike Simons editor Computerworld UK
(email removed to prevent spam!)
Thanks for these clear and concise instructions.
Don’t forget that if your SSH server is running on a port other than 22 then you have to change this in the /usr/NX/etc/server.cgf file in two places to match your settings.
“On your Windows computer, download nxclient for Windows and install it. Notice how much more complex it is to download and install Windows software!”"
I liked that one..
I spent like 10minutes on downloading the linux papckages.. and about 40seconds downloading the windows files
Thanks for the clear instructions. Use these packages for AMD64:
nxclient_3.1.0-6_x86_64.deb
nxnode_3.1.0-6_x86_64.deb
nxserver_3.1.0-5_x86_64.deb
NoMachine NX server is brilliant. I use to guide my father with his Mandriva 2008.1 and it works great via DSL. My father lives 3000 miles away.
Thanks for instructions.
Nice tips, thanks
OK, let me just say…
WOW
OK, i’ve been trying to get NoMachine to work for like 5 hours on my fresh install of ubuntu 8.1 I wanted to take the time to say thank you for putting this up to get this nice app to work. (now I’m worried about all those crazy deseperate changes I made to (various dead end suggestions) files..)
Let me add that help like this is what is keeping me interested in linux.. (my college classes sort of help too) in the not too distant past we would get RTFM from alot of the linux community. Again, thanks a lot.
Cheers,
helwoe
This is a great Tutorial and worked like a snap, unlike all the other garbage I kept finding, so thanks for the info!
ok, did the install but having an issue.
I get the following error during install :
etting up nxnode (3.0.0-93) …
NX> 701 Autodetected system ‘debian’.
NX> 701 Update log is ‘/usr/NX/var/log/update’.
NX> 701 Updating node at: Wed Apr 01 17:41:52 2009.
NX> 701 Checking NX node configuration using /usr/NX/etc/node.cfg file.
NX> 701 WARNING: Cannot find file: printers.conf.
NX> 701 WARNING: Please verify your CUPS configuration.
NX> 701 Update of NX node has been completed with warnings.
NX> 701 Please review the update log for details.
NX> 701 Showing file: /usr/NX/share/documents/node/cups-info
CUPS Printing Backend
[output cut]
And now when I log in fromn windows desktop I get :
Cannot run ’startkde’. … make sure you have the apprioprate credentials.
Help!!
Thanks for the information!
When I connect, it’s opens a new user-session, while I want to go into the current session just like VNC. How do I do that?
thanks bro…..