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.
Things to Try with NX Testdrive Server

I hope you've succeeded to connect to one of the NoMachine testdrive servers by now. As mentioned before, the testdrive servers aren't capable of handling a ton of traffic, so you may not be able to try your own NX session immediately after reading this article. But while you're on the site, try a few things that don't work with the old FreeNX version contained on your Knoppix CD, which we will be using for the next tests:

  • Use the key combination [Ctrl]+[Alt]+[f] to toggle full-screen and windowed NX session modes.

  • Use the mouse to drag the window border and resize the NX session window to any size you like, even in portrait shape.

These features are included in the NX Core libraries of the 1.5.0 release for the first time. They also work with older NX clients, 1.4.0-75 and 1.4.0-91, as they are included in Knoppix.

You also can familiarize yourself with a few other shortcuts that work with the FreeNX server version included in Knoppix:

  • Click on the magic pixel located in the uppermost right corner of your desktop to escape NX full-screen mode and minimize the window to a button hosted in the task bar.

  • Use key combination [Ctrl]+[Alt]+[t] to terminate or suspend your session.

  • Use key combination [Shift]+[Ctrl]+[Alt]+[Esc] to kill your running session.

Neat Tricks to Play with NX

Here are some neat tricks you may find useful in your future NoMachine NX Client installations. You can start the NX Session Administrator with this command /usr/NX/bin/nxclient --admin (Figure 15). This utility lets you comfortably start new sessions, disconnect or kill running ones, view session logs or remove old session files. Probably the most under-rated feature in here is its capability to produce session statistics about the efficiency of the NX protocol. Facts and figures compression ratios, cache hits and misses as well as an overall summary are only one mouseclick away. It's also a great tool for debugging sessions.

Most useful to administrators of sites that are planning big NX installations with large numbers of clients may be the nopasswd, noexit and noconfig special files. Create one or all of these as empty files in /usr/NX/share/ with the touch command and make sure the permissions are set to read-only:

touch /usr/NX/share/{noexit,noconfig,nopasswd}
chmod 444 /usr/NX/share/{noexit,noconfig,nopasswd}

The mere existence of these empty files lock down the NX client user environment considerably. Try it for yourself: create the files and watch their effect. Remove the functions again by simply deleting the files. You should see the following:

  • file /usr/NX/share/nopasswd disables the functionality to save the username and password in the NX session file. This is handy when an NX terminal has multiple users and the administrator needs to enforce the keying in of the NX user credentials before each session. It ensures that only pre-established users can access the NX server via NX client.

  • file /usr/NX/share/noexit disables all Close buttons in the NX client GUI. When the user closes or loses a running session, a new NX client dialog box automatically appears on the desktop, ready for the next user to start a new session or for the current user to re-connect to his lost session. This is welcome where client terminals have multiple users who need to access their session quickly and easily.

  • file /usr/NX/share/noconfig disables all user possibilities to configure new session setups or modify existing ones. This allows the administrator to completely lock down the types of sessions a user can run. This feature works only when the NX client is started with the --session or --plugin option.

A final hint: visit the excellent NoMachine Knowledge Base. There you will find a wealth of advanced information about NX technology and its usage. The FAQ section and the collected articles may save you a lot of time. Also be sure to check out the NoMachine support and resources Web sites rather than rely only on Google search results. I want to warn readers: Google digs up many outdated pages on NX, several of which are plain wrong in their advice to (Free)NX users.

The next installment of this series, Part 6, will show you how to run the FreeNX server from a Knoppix CD. Moreover, it will introduce you to a simple method that lets you emulate a slow modem link on the Knoppix loopback network device. It also will teach you how to run a side-by-side comparison of an NX session with an Xnest session to see some NX's speed improvements over traditional X11 remoting.

Kurt Pfeifle is a system specialist and the technical lead of the Consulting and Training Network Printing group for Danka Deutschland GmbH, in Stuttgart, Germany. Kurt is known across the Open Source and Free Software communities of the world as a passionate CUPS evangelist; his interest in CUPS dates back to its first beta release in June 1999. He is the author of the KDEPrint Handbook and contributes to the KDEPrint Web site. Kurt also handles an array of matters for and wrote most of the printing documentation for the Samba Project.



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.