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:

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.

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.

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.

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
http://www.nomachine.com/testdrive.php.
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
testdrive.nomachine.com. 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.

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.

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 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!

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]!

Hey Wolfgang,
I'm getting the exact same bug i think: I connect with a Windows-NX-Client (2.0.0.98) to a SUSE linux machine with recent FreeNX straight from nomachine.com 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.

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.

Trending Topics

Upcoming Webinar

Getting Started with DevOps - Including New Data on IT Performance from Puppet Labs 2015 State of DevOps Report

August 27, 2015
12:00 PM CDT

DevOps represents a profound change from the way most IT departments have traditionally worked: from siloed teams and high-anxiety releases to everyone collaborating on uneventful and more frequent releases of higher-quality code. It doesn't matter how large or small an organization is, or even whether it's historically slow moving or risk averse — there are ways to adopt DevOps sanely, and get measurable results in just weeks.