The Arrival of NX, Part 5: Using NX
It took only 50 seconds for me to receive an e-mail with my login data. After 50 more seconds, I successfully was logged in to the testdrive server and was running a KDE session. testdrive.nomachine.com is not in any way a highly tuned big machine ready to be LinuxJournal.com-dotted, though; it is a dual 2.4GHz Xeon PC with 1,024MB of RAM.
I noticed during my tests for this article that the testdrive server was a bit slow due to heavy loads: 24 other NX sessions were running, 19 KDE and 5 GNOME. The site is not set up to provide a leaner or more optimized-for-remote-access desktop than what installs out of the box--SuSE 9.1 Professional--nor is it tuned to minimize the resources used. If you wait long enough, even a random screensaver may kick in, using some quite unnecessary resources. Also during my test, one malicious NX testdrive user deliberately was trying to bring the server to its knees by opening more than 300 Bash sessions, one after the other, producing a very high load for the box. My NX session still worked, albeit a bit slowly.
To connect to the NoMachine NX testserver, in the Knoppix main menu (KDE session) select Internet --> NX Client for Linux --> NX Client for Linux from the main program menu (see Figure 5). When you start the NX client for the first time, it runs in wizard mode (see Figure 6).

Figure 6. The client runs in wizard mode when started for the first time. The initial screen's only choices are to click Next (1) to continue the wizard steps or Cancel (2), which brings up the normal NX Client mode. This also allows you to fill in all the connection data.
Any future start-up of the NX Client brings it up in normal mode (see Figure 10). If you prefer to see the wizard, you always can re-run it from the command line by typing /usr/NX/bin/nxclient --wizard.

Figure 7. The Second Screen of the NX Connection Wizard
The second screen is the most important screen of the NX Connection Wizard. You use it to:
assign a name to the session; all other session parameters are stored under this name, with a .conf (in 1.4.0) or .nxc (in 1.5.0) suffix. If you connect to different NX servers or to the same one with various settings, this is a handy feature.
fill in the fully qualified hostname or the IP address of the NX server to which you want to connect.
use the correct port number to connect. Because NX utilizes the target system's SSH daemon for connections, this usually is port 22, but this need not be so. An SSH daemon may be configured to listen on multiple ports or on a more unusual one. If you plan to set up an "outside" NX server that you need to access from an internal network through a firewall, port 443 (usually assigned to the HTTPS protocol) often is convenient to use, because most firewalls and their admins already allow access to that port. If in doubt, check with your network administrator.
use the slider to change the level of NX compression from highest (Modem) to none at all (LAN). It doesn't hurt and often is beneficial to use the Modem compression level, even if you are on a DSL line. Notice that the LAN setting does not use any compression at all, so be sure to play with variations for that setting if the session performs too slowly for you.

Figure 8. The Third Screen of the NX Connection Wizard
On the third Wizard screen, you can select the session type. The NoMachine NX testdrive server does not offer Windows or VNC connections, however. For Figure 8, the numbered fields correspond accordingly to the following tasks:
this dropdown menu offers Unix, Windows and VNC connections
this dropdown menu offers KDE, Gnome, CDE or Custom sessions for Unix connections; it is grayed out and disabled for Windows or VNC connections.
the Settings button is enabled for Unix/Custom or Windows and VNC connections. A Unix/Custom connection and Windows or VNC ones are explained in other screenshots.
this field determines the window size of your remote NX session. 1.5.0 NX servers allow to change the size on the fly; 1.4.0 server sessions use the same fixed size throughout their lifetime. You can select between various pre-defined sizes, a custom size or Fullscreen. Fullscreen is particularly interesting in that it creates a window without any borders that overlays the original client machine screen. This way you can pretend to run a Linux KDE session even from a Windows NX client without much risk that the occasional observer will discover the "fake". If you choose a custom window size, you set the width and height in 4a and 4b. There is no restriction here; you even may choose a portrait type window for your remote desktop.
enabling "SSL encryption of all traffic" permanently is highly recommended. However, be aware that the ongoing encryption and its companion decryption of all traffic puts more load onto both CPUs, NX client as well as NX server. You may want to disable it for older client hardware with weaker CPUs, in case you are running your NX network inside an isolated corporate network with trusted users only.

Figure 9. The Final Screen of the NX Connection Wizard
On the final screen of the Connection Wizard, you can use Field 1 to create a shortcut on the desktop that is handy to re-run the remote session. The Advanced Configuration dialog is introduced in other screenshots below.

Figure 10. The Standard NX Client Login Dialog
The standard NX Client login dialog provides spaces for you to enter:
your login name or user ID to use, as communicated to you by e-mail.
your password, not displayed in clear text but hidden behind the asterisks.
a self-invented name for your upcoming NX session. This name is used to store your selected settings in a sessionname.conf config file. You can have variants of settings for the same or various remote NX servers stored under different names for easier re-use at a later time. The Session field is editable. If you change it, NX asks you if you want to create a new configuration under the changed name or if you want to rename the old configuration.
the Configure... button brings up the advanced configuration dialog, which is discussed in other screenshots below.
click Login to start up a remote session.
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Sponsored by AMD
Built-in forensics, incident response, and security with Red Hat Enterprise Linux 6
Every security policy provides guidance and requirements for ensuring adequate protection of information and data, as well as high-level technical and administrative security requirements for a system in a given environment. Traditionally, providing security for a system focuses on the confidentiality of the information on it. However, protecting the data integrity and system and data availability is just as important. For example, when processing United States intelligence information, there are three attributes that require protection: confidentiality, integrity, and availability.
Learn more about catching the bad guy in this free white paper.
Sponsored by DLT Solutions
| Designing Electronics with Linux | May 22, 2013 |
| Dynamic DNS—an Object Lesson in Problem Solving | May 21, 2013 |
| Using Salt Stack and Vagrant for Drupal Development | May 20, 2013 |
| Making Linux and Android Get Along (It's Not as Hard as It Sounds) | May 16, 2013 |
| Drupal Is a Framework: Why Everyone Needs to Understand This | May 15, 2013 |
| Home, My Backup Data Center | May 13, 2013 |
- New Products
- Linux Systems Administrator
- Senior Perl Developer
- Technical Support Rep
- UX Designer
- Web & UI Developer (JavaScript & j Query)
- Designing Electronics with Linux
- Dynamic DNS—an Object Lesson in Problem Solving
- Using Salt Stack and Vagrant for Drupal Development
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Nice article, thanks for the
5 hours 44 min ago - I once had a better way I
11 hours 30 min ago - Not only you I too assumed
11 hours 48 min ago - another very interesting
13 hours 41 min ago - Reply to comment | Linux Journal
15 hours 34 min ago - Reply to comment | Linux Journal
22 hours 28 min ago - Reply to comment | Linux Journal
22 hours 44 min ago - Favorite (and easily brute-forced) pw's
1 day 36 min ago - Have you tried Boxen? It's a
1 day 6 hours ago - seo services in india
1 day 10 hours ago
Enter to Win an Adafruit Pi Cobbler Breakout Kit for Raspberry Pi

It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Pi Cobbler Breakout Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- 5-21-13, Prototyping Pi Plate Kit: Philip Kirby
- Next winner announced on 5-27-13!
Featured Jobs
| Linux Systems Administrator | Houston and Austin, Texas | Host Gator |
| Senior Perl Developer | Austin, Texas | Host Gator |
| Technical Support Rep | Houston and Austin, Texas | Host Gator |
| UX Designer | Austin, Texas | Host Gator |
| Web & UI Developer (JavaScript & j Query) | Austin, Texas | Host Gator |
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?




Comments
Really awesome series of articles and the product itself, NX.
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.
Thanks
> installing FreeNX now that
> 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?
I am really enjoying reading this series and am impressed with NX. When will Part 6 be out? Thanks.
NX Server Free Edition
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
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
"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
Hi,
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...
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
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.
pls drop me a line if you could fix it!
best regards
Geli
stNOSPAM_AT_netrent.ch
keyboard mapping == nxdesktop bug ?
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 ?
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.