How to Set up Nomachine NX between Two Linux Systems

There are a number of ways you can log into one computer to run software from another: ssh for purely command-line work, X11 forwarding for launching GUI applications on the remote machine, VNC for a remote view of your desktop, RDP if you’re stuck (temporarily) in Windows. Nomachine is known for their NX system, which it compresses the data it sends and receives, making it suitable for slower network connections.

Nomachine offers a “Free Edition” of the NX server (which you’ll install on the machine you want to log into from other computers, which we’ll be calling “server” machine) that supports up to two simultaneous users… meaning if you’re just using this personally to access your computer at home from work, you’ll be just fine with this version.

The first thing you’ll need to install the NX server is OpenSSH running on the machine you’ll want to log into (i.e. the server machine). In Ubuntu, you can install this with the following command (or install from your favorite package manager or software center):

sudo apt-get install openssh-server

Once you’ve done this, make sure the “sshd” service is running by typing the following

sudo service ssh start

Installing the NX server requires you to visit the Nomachine website and download three files: the “client” package, the “node” package, and the “server” package. Once downloaded, you should be able to click on these packages from your file manager (of course, you can always install them from the command line). To make sure all the dependencies are met, click on them in this order:

  • “Client” package first
  • “Node” package next
  • “Server” package last

Alternately, install all three from the command line with the following command:

sudo dpkg -i nx*.deb

Once everything’s installed (note any messages you get on installation – I got a few about printing support, how the keypairs work, and the difference between desktop sharing and session shadowing), you shouldn’t need to start up the server, but if for some reason the installation didn’t start it, you can with the following command:

sudo service nxserver start

Once the server is up and running, you can install the client on all the machines you want to use to access the server machine. Nomachine offers freeware NX clients for Windows, Mac, Linux, and even Solaris. If you’re using the same architecture and OS on both machines (for example, if both are newer 64-bit processors and you’re using the 64-bit version of your operating system), you can use the nxclient_X.X.X-X_amd64.deb file you already downloaded. Otherwise, grab the nxclient file for the other architecture. In my case, the server machine is older (so I need the i366 versions of all the server files), while the machine I’m using to test this is newer (so I also download the amd64 version of nxclient).

You can install this with the same command above (the only different is it will only install the one file, because that’s all you downloaded. Once installed, you’ll have a new sub-menu (it appears under the “Internet” menu for me in KDE) like the one pictured below.

nomachinenx-clientmenu

Looking at that menu, I was immediately drawn to the “NX Connection Wizard” to see if this could be done for me automagically. Sure enough, a screen like the one above at center-left came up.

nomachinenx-connection

Clicking “Next” showed a screen to enter a name for the Connection (they call it a “Session”), the address, SSH port (this should be 22 unless you changed it when you installed the OpenSSH server), and the speed of your connection.

nomachinenx-connection

The following screen asks what you’ll want to access – I’m looking for full access to my KDE desktop.

nomachinenx-connection

The last screen asks if you’d like a shortcut to the Session, or to do any Advanced configuration.

Once you click “Finish,” you’ll get a log-in window like the one below. Just enter the name and password for whatever user you usually use to access the server machine, and click “Login.”

nomachinenx-login

In the past, I’ve found that this point is where the real work usually begins, modifying XDMCP configurations and opening ports to get a usable desktop view. Not here – the NX Client found and displayed my full desktop (at full size), and I found it to be entirely usable. A little laggy in some places (e.g. loading the Yahoo home page in Konqueror), but I feel like this is as much a function of my slow server machine as the remote connection. The only thing that threw me off was that I couldn’t find any way to get back to my local desktop once I was connected to the remote one (I had to log out entirely; alternately, you can select “Available area” rather than “Fullscreen” to place the NX connection within a window, as shown below).

nomachinenx-desktop

Nomachine has put together a really slick system to access remote computers, will be free and easy to set up for most users, and performs just as well as other solutions. If you’re looking to access your machine remotely, I’d recommend you give it a try.