The Arrival of NX, Part 5: Using NX

We know you've been waiting for it, so here's the next installment of our NX series. This time out, learn how to navigate with hands-on exercises that demonstrate all NX can do.

This is the fifth in a seven-part series written by FreeNX Development Team member Kurt Pfeifle about his involvement with NX technology. Along the way, he gives some basic insight into the inner workings of NX and FreeNX while outlining its future road map. In Part 5, Kurt explains how you can start to explore what NX offers by following his step-by-step instructions. Much of what Kurt describes in this series can be reproduced and verified with one or two recent Knoppix CDs, version 3.6 or later. A working FreeNX Server setup and the NoMachine NX Client has been included in Knoppix now for over a year.

The NoMachine NX Client license says, "Redistribution of NX Client software, including commercial Closed Source packages, is allowed, free of charge, for commercial and non-commercial use...". This enabled Klaus Knopper to include the NoMachine NX Client in Knoppix, versions 3.6 and later, even though it is not free software. It also is included in Kanotix. The NX Client is released in binary form under a free for commercial and non-commercial use license similar to the Adobe Acrobat reader software that we find in most Linux distributions. A KDE-based NX client, kNX, also is available. kNX works and is used by quite a few people daily, but it more of a proof-of-concept implementation, though, and its use is not yet generally recommended.

Knoppix also includes FreeNX, a fully GPLed implementation of an NX server application, based on the NoMachine GPLed Core NX libraries and utilities. So Knoppix enables you to access any free or commercial NX server in the world or even run your own FreeNX one from CD-ROM.

The Plan

We have arrived at a point in this series where we can conduct various hands-on exercises. I have been using the Knoppix-4.0 DVD Edition, as released by Klaus Knopper during LinuxTag 2005. However, any other CD- or DVD-version of Knoppix torrent or Kanotix torrent since the 3.6 release (March 2004) should work the same or similarly. Depending on whether you have one or two machines available booted from Knoppix, you should be able to follow along with most or all of the different activities we describe here:

  1. Use the NoMachine NX Client started from Knoppix to run a remote NX session to the NoMachine "testdrive" NX server in Rome/Italy. How to do so is explained in this article.

  2. Use the FreeNX server started from Knoppix to run a local NX session to the same Knoppix instance. This is explained in the next article, Part 6.

  3. Use the NoMachine NX Client started from one Knoppix to run a remote FreeNX session to a second Knoppix. This also is explained in Part 6.

  4. Implement some artificial TCP/IP "traffic shaping" for the NX connections to simulate link conditions on a modem line, and compare NX performance over this medium with plain vanilla X11 performance; also in Part 6.

Be aware that your performance measurements may deviate from the ones presented in this article. This will depend on how much your hardware--mainly RAM size and CPU power--differs from mine.

Creating an NX Test User Account

Boot up Knoppix, and make sure you have an Internet connection. As our first exercise is to run a remote NX session to the public NoMachine testdrive NX server, you need to create an account for yourself. Open a Web browser and go to There you need to register a temporary testdrive user account (see Figure 1) so you can access that testdrive server in Italy or, alternatively, another testdrive server in Germany.

Registration does not require any information beyond your name and e-mail address; see Figures 2 and 3. You then need to wait for the confirmation e-mail to show up in your inbox (Figure 4); it should arrive within a few minutes.

Figure 1. Creating an account for the NX testdrive server is easy and straightforward.

Use the remote testdrive offered by NoMachine to form an initial valid impression about NX's performance in a real-life environment over an Internet connection. This is the quickest way to come to an initial conclusion about the viability of NX or FreeNX for your remote terminal server requirements.

Be aware that there is an upper limit of 30 concurrent NX user sessions on Also, currently no public testdrive option is available for remote sessions to a Windows Terminal Server. If you urgently need to test that, send an e-mail to NoMachine and ask for special permission.

Figure 2. Your name and e-mail address is all that is required to receive a seven-day test account for the NoMachine NX server.

If you find the NX testdrive server interesting enough, you then can proceed with your own tests and set up your own (Free)NX server. One quick way to do so is by running the FreeNX server provided on any recent Knoppix Live CD.

Figure 3. A confirmation note assures you that an e-mail with your test account credentials is on its way to your mailbox.

Notice that the User ID text field is labeled Login in the NX client that you will use shortly.

Figure 4. Indeed, a few minutes later the account credentials have arrived.

The mail details the NX server name, the (SSH) port number to use, your login name and your password. Asterisks were inserted to hide the real password in the figure. Test accounts are valid for one week and automatically expire thereafter.

You do not need to download and install the newest NX Client from NoMachine. The version included in Knoppix, namely 1.4.0, is good enough for now. I know that the more adventurous readers will be tempted to download the new 1.5.0 client, knowing that Knoppix with the new UnionFS filesystem easily can install and run new software packages while running from CD. If you know how to do this, go ahead.



Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Really awesome series of articles and the product itself, NX.

Anonymous's picture

I have a local linux ws and a remote one sitting across in a different continent where I need to do extensive Java development using Eclipse IDE. I have been using NX for quite sometime now and it is working very well for me. This series of articles have clearly explained why.


> installing FreeNX now that

Anonymous's picture

> installing FreeNX now that NoMachine has released NX Server Free Edition.

Beware "NX Server Free Edition" is not "libre" software, it limits you to only two concurrent sessions, and so on.

FreeNX has not this limitations

When will Part 6 be out?

Brian Takita's picture

I am really enjoying reading this series and am impressed with NX. When will Part 6 be out? Thanks.

NX Server Free Edition

Marc's picture

Fast forward a year from when this excellent article was written, there is probably not much point now in installing FreeNX now that NoMachine has released NX Server Free Edition.

This is fairly easy to install and offers more features than FreeNX.

freenx / nxserver: difficult to install

Anonymous's picture

I've probably installed freenx and nxclient a dozen times, and each time it has been a hellishly difficult process. One can do a vanilla install on two hosts on the same LAN, with virtually everthing set up correctly, and still get the dreaded "Using auth method: publickey / Authentication failed" message. So my conclusion is that it might be better to seek other ways of remotely accessing machines at this point than freenx.

"I've probably installed

Anonymous's picture

"I've probably installed freenx and nxclient a dozen times, and each time it has been a hellishly difficult process."

I can second that, I had to install freenx on some machines last year and the configuration almost drove me crazy. The same client asked me to update these machines to the new nx server. I tried to install it on some local machines and it went very smooth!

Using NX to connect to Windows

Jay's picture

NX really is great stuff, getting amazingly quick connections to my Ubuntu Breezy server at home whilst I'm sitting at work!

The only thing I can't seem to do is use the client to connect to my XP via RDP. I can run the nxdesktop from the ubuntu box no problem, am I missing something in the set-up?

Any help gratefully received!

thanks so far...

Anonymous's picture

Hi Kurt,

thanks for the great series of articles about FreeNX which you publish here.

One thing tho, to which I never found a solution on the nomachine site or elsewhere:

When using the rdesktop feature from a Windows NoMachine client to a FreeNX (Debian-based) server (as proxy) to a Windows 2003 server at some client's site, I don't get a german keyboard layout - no matter what I choose in the NXclient. Even after adding german locales (and setting them as default) on the Debian proxy, there's no way to change that. Using version 1.5 didn't make a difference, and, suprisingly: when using the client on Debian (english desktop) as well, all just plain works [TM]!

So what do I have to do to make Windows clients play nicely?

Thanks again,
and kind regards,
wjl aka Wolfgang Lonien

same for me

Geli's picture

Hey Wolfgang,
I'm getting the exact same bug i think: I connect with a Windows-NX-Client ( to a SUSE linux machine with recent FreeNX straight from and the f***ing Keyboard layout will only be English! Even though i have on both machines German-Keyboard as default, and also selected "German" in the NXClient.

pls drop me a line if you could fix it!

best regards

keyboard mapping == nxdesktop bug ?

Anonymous's picture

the problem you describe looks like a bug in NX' nxdesktop component (i mean to have read about it b4).

i assume you have tried the latest bugfix release of the nxclient for windows from nommachine already, yes? and also read their detailed release notes, yes?

if that didnt fix it for you, youll have to be patient and wait for the next release by nomachine.

Re: keyboard mapping == nxdesktop bug ?

Gian Filippo Pinzari's picture

This bug shouldn't affect the NoMachine NX server and, as far as I can say, it is not a bug of nxdesktop, as nxdesktop uses the keyboard correctly, according to the settings of the remote X server.

On Windows the keyboard settings are downloaded by the NX server to the client upon session startup. This is a feature of NX server that is activated whenever the remote X server is unable to handle the keyboard initialization locally, for example if the X server lacks the XKB tools and related keymap files. This makes much simpler to create thin client setups where only the X server is deployed, without the X libraries and the additional tools (as in the NX client for Windows).

I don't know how FreeNX handles this but the feature was implemented in November 2004. There was a long thread in the NX project's mailing list and Fabian and Kurt should have received copy of it. It shouldn't be difficult for the FreeNX guys to implement this in the same way as it is implemented in the NoMachine NX server.

/Gian Filippo.