VNC is
well-known for allowing the remote control of another desktop machine via your
own computer. For instance, using VNC you can easily control your home PC from
work, and vice versa. The problem with VNC is that it’s not overly secure and
it can be quite slow, particularly if you have a lot of fancy graphics or backgrounds
on the remote computer. Other solutions also exist for remote control of a GUI,
such as running X over ssh, proprietary tools like Apple’s Remote Desktop, etc.,
but they all tend to have the same drawbacks; they are either insecure or tend
to be slow.

A newer protocol known as NX is now available that will run on
Linux, Windows, or OS X that allows you to remotely control a desktop system without
loss of speed or lack of security. A free implementation of the NX server
component, known as FreeNX, working in conjunction with the commercial NX
clients (which are free to use) allows one to easily control a remote desktop.

Tips in your inbox

Delivered each Tuesday, TechRepublic’s free Linux NetNote provides tips, articles, and other resources to help you hone your Linux skills.

Automatically sign up today!

FreeNX, which is available at is available as
a source download or with pre-compiled binaries for certain distributions; your
favorite distribution may also come with FreeNX prepackaged (for Mandriva
users, look in contribs). FreeNX is
meant to run on the Linux server or remote system you want to control.

The commercial clients are available from NoMachine at You can even
get the commercial server packages here for Linux and Solaris.

Once FreeNX is installed on the server, you copy a public SSH
key onto the client which is used for authentication; NX uses SSH as a
transport protocol. On the server, you use the nxserver program to add the user
you want to permit access for, and then you connect to the server via the

With NX, you can suspend sessions, run multiple sessions, and
even control multiple remote desktops, all at near-local speeds.