Access Your Linux Box Remotely With NoMachine

As remote protocols go VNC is usually considered the standard because it is open, popular and relatively easy to work with. There are dozens of free and commercial implementations of the protocol, and even products like my favorite CrossLoop use it. But, truth be told, VNC is not great. If you want speed and quality, you ought to look somewhere else.

In the past I mentioned that the RDP protocol (also known as the Remote Desktop) for Windows just can’t be beat. When given a choice between VNC and RDP to work on a remote windows box, I will always choose the later. Yes, it is proprietary, but it is just serves my needs better. VNC is more geared towards remote support because both the local and remote users usually share the same desktop session. RDP on the other hand utilizes Windows Terminal Services letting you work in your private instance. And on top of that it’s much faster, and even over a slow internet link you can use the machine without huge delays or visual artifacts.

What about linux? If you want this type of service and performance, you have to look at another proprietary product. I’m talking about nx protocol by NoMachine. However unlike RDP, the core libraries for NX are released under GPL and NoMachine does distribute free binaries for most modern systems.

How do you set up a NX server? It’s as easy as downloading and installing 3 deb packages. Note that you need all three. The node depends on the client, and the server depends on the node. Go figure. Here is how I got it working under Feisty:

wget http://64.34.161.181/download/3.0.0/Linux/nxclient_3.0.0-78_i386.deb
wget http://64.34.161.181/download/3.0.0/Linux/nxnode_3.0.0-83_i386.deb
wget http://64.34.161.181/download/3.0.0/Linux/FE/nxserver_3.0.0-69_i386.deb
sudo dpkg -i nxclient_3.0.0-78_i386.deb
sudo dpkg -i nxnode_3.0.0-83_i386.deb
sudo dpkg -i nxserver_3.0.0-69_i386.deb

I had no major issues installing the 3.0 release, although it did complain about my CUPS configuration, or rather lack of thereof. I didn’t really care. :) Results? Here is a screeshot of my Ubuntulite inside a NXClient running on Windows XP:

Ubuntulite in NX Client on WinXP

And yes, it is the same Ubuntulite installation I put on my poor “senior citizen” rickety old spare laptop few days ago. Which just goes to show that the NXServer works great even on a tad flaky, 0.5 beta release of Ubuntulite.

The speed is comparable to what you get when using with RDP on windows, and so is the quality of the image. It’s crisp and refreshes very fast. It also beats normal X-forwarding when you are connecting from windows because the NX client much smaller than installing full blown X under cygwin, and free as opposed to something like XWin32. It also lets you view the whole desktop as if you were sitting at it as opposed to launching all your apps from withing xterms

Caveat emptor: by default the NX protocol uses ssh for routing it’s connections. Thus you have to make sure you have openssh-server package installed on your system. The NoMachie binaries will install just fine without it, but you won’t be able to establish a remote connection unless you install it. The upside of this is that all your communication between you and your remote machine is encrypted “out-of-the-box”. This is usually not the case with VNC, and never the case with RDP.

Definitely give it a whirl especially if you have a headless linux box somewhere and you would like to have an easier way of interacting with it than just plain ssh, without trading off security.

[tags]nx, nx protocol, nomachine, nxclient, nxserver, nxnode, x, xwin32, rdp, remote destkop, remote access[/tags]

This entry was posted in sysadmin notes and tagged , . Bookmark the permalink.



10 Responses to Access Your Linux Box Remotely With NoMachine

  1. Kardien UNITED STATES Mozilla Firefox Windows says:

    I didn’t know about nx, but I’m looking forward to trying it. Thanks!

    I appreciate the work and design of VNC, but the performance lags so far behind that using it is painful after having used RDP.

    Thankfully though it’s mostly been a moot issue for my usage. Remotely administering Windows machines *requires* a GUI and RDP does great. It’s very satisfying to use, and I really enjoy it.

    When working remotely on a *nix machine, though, plain text over SSH is all I want.

    /me hugs screen + vim + zsh + /**/*

    Reply  |  Quote
  2. Luke Maciak UNITED STATES Mozilla Firefox Ubuntu Linux says:

    Very true – there is nothing that can’t be done from the command line in the linux world. :)

    screen FTW!

    Reply  |  Quote
  3. Craig Betts UNITED STATES Mozilla Firefox Solaris Terminalist says:

    Why not use the standard that has been around longer . . . like X?

    cygwin has xfree86 and ssh, the two pieces you need to display X windows on your Windows system securely. I have been running a variation of the for years with few issues. If you really need the entire Linux desktop, well, I guess you would be better off with NX.

    Yes, I know you can get the entire desktop with X, but not without opening XDMCP or some serious script writing.

    Reply  |  Quote
  4. Luke Maciak UNITED STATES Mozilla Firefox Windows says:

    You are right – when accessing Linux from Linux, Unix, BSD or OSX, remote X is probably the easiest solution.

    On windows however, nx is probably the better choice for windows. The client is a 5MB package that installs in seconds and works very, very simillar to Rdesktop. Seems like the smaller and more compact choice as opposed to running an actual instance of X under Cygwin. Just seems like less hassle. :)

    Reply  |  Quote
  5. Craig Betts UNITED STATES Mozilla Firefox Solaris Terminalist says:

    [quote post=”1966″]Seems like the smaller and more compact choice as opposed to running an actual instance of X under Cygwin. Just seems like less hassle. [/quote]

    Yeah, I suppose you are right. It is habit for me to load cygwin on all my Windows systems. This is what I use to support my engineers instead of paying for Hummingbird Exceed licenses.

    How does NX run on a multi-user system?

    Reply  |  Quote
  6. Luke Maciak UNITED STATES Mozilla Firefox Ubuntu Linux says:

    It works just fine – it uses ssh for login, and then tunnels the visual stuff through there. Its actually almost exactly the same experience as using X remotely, only that you can easily set it up to get the full desktop. I think they are using some proprietary protocol for transmitting the graphical data.

    In fact, I noticed that NX is sometimes faster than just X. When you do remote X you sometimes hit that lag – your application locks for a second or two. This doesn’t really happen that often on nx – the lag gets somehow diffused, so you do get stuff reacting slowly at times, and see some trailing (when your window leaves that shadow trail behind it as you drag it) but it doesn’t really gets stuck. In a way it reminds me of the Remote desktop experience. :)

    Reply  |  Quote
  7. charlie UNITED STATES Mozilla Firefox Linux says:

    >> In fact, I noticed that NX is sometimes faster than just X.

    No doubt. NX uses far less bandwidth than X, people report being able to use X or VNC via NX over dialup and it’s actually responsive and useful.

    Reply  |  Quote
  8. dahlek UNITED STATES Mozilla Firefox Ubuntu Linux says:

    VNC is more geared towards remote support because both the local and remote users usually share the same desktop session. RDP on the other hand utilizes Windows Terminal Services letting you work in your private instance.

    This doesn’t have to be the case with Linux, however. It’s an easy matter to setup vncserver to allow you to get your full session – you need not “share your desktop”. I often used TightVNC several years ago, and it was pretty speedy, using such optimizations as a local-mouse (no need to send mouse pointer movements constantly), disabling of the background desktop image, jpeg compression, and other improvements. As for the remote-x issue/console issues, XDMCP solves that. Cygwin is slow, IMO, but Xwin32 is extremely FAST, and you get your whole desktop as well if you use XDMCP.

    However, the X protocol isn’t really fast enough over the Internet, in my experience, even with ssh compression, so I will give NX a try.

    Reply  |  Quote
  9. Gamberoni UNITED KINGDOM Mozilla Firefox Windows says:

    For those of you still using Cygwin for X-windows emulation on Windows, should maybe look at XMing http://www.straightrunning.com/XmingNotes/. I don’t use X a lot, but i could never get Cygwin to work properly – and it was such a disk hog. Putty & XMing is compact easy to setup and run’s without any complicated configuration.

    Reply  |  Quote
  10. Luke Maciak UNITED STATES Mozilla Firefox Ubuntu Linux says:

    Oh wow! Nice! I haven’t used this one, but I will definitely give it a try. :)

    Thanks for the tip!

    Reply  |  Quote

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>