Thursday, January 15, 2009

Easy Remote Linux Logins with FreeNX

With my having to fuss with networks at school and having a couple of machines at home, there have been a few instances where being able to remotely log into another machine has been a significant convenience. There aren’t many options out there unless you want to pay money:

  • RDP (aka Windows Terminal Services) – Free only for the client. As far as my limited experience has been, this is quite nice, fast, and it even supports audio. The only problem is that the licensing is quite draconian and it only is available on the server editions of Windows or a pay-for version for *NIX.
  • X11 – X was designed for network-transparent sessions. The only problem is that it’s not secure and setting it up over SSH is a pain.
  • VNC – Lots of good things here – free servers and clients for just about any platform you can think of and setup is pretty easy in most cases. The problem? It’s a bandwidth hog.

Enter the Italian company NoMachine, which offers its commercial NX Server for remote access under for Linux and its ilk with open source libraries. These libraries implement the NX protocol, which is more or less a way to both secure and speed up remote login connections.

As far as my experience has taken me, it hasn’t seen anywhere near the popularity that VNC has. I find this strange – VNC tends to be slow – even with compression – and is not secure on its own. It can also be a little weird to set up sometimes, as was the case for me setting up UltraVNC on a Windows box at school yesterday.

Perhaps it’s just me, but FreeNX deserves more limelight than it has received, if my setup experience from earlier today is any measure. Part of the ease of installation was thanks to http://www.drtek.ca. The main part of the site seems to be in French, but one page was both in French and English. Compliments of its author, I received listings for the repositories that I needed and was able to install the server with one command. Because NoMachine offers NX clients for both Windows, Linux, OS X, and Solaris, I went to NoMachine’s download page and grabbed the Windows and Linux versions. Just to test to see if things worked, I installed the Linux client on the server machine and tried to log into a regular terminal login and it worked – a little too easily for Linux, in my opinion. I tried a GNOME login from my windows box with the same results. I’ve come to accept the amount of tweaking that Linux requires in most cases, so when it just seemed to work, I was a little suspicious, but everything works as expected.

For a short summary, here’s the entire install process:

  1. Open up /etc/apt/sources.list and add the following lines to the end:

    # Ubuntu FreeNX Repository for Hardy
    deb http://ppa.launchpad.net/marceloshima/ubuntu hardy main
    deb-src http://ppa.launchpad.net/marceloshima/ubuntu hardy main
    deb http://ppa.launchpad.net/freenx-team/ubuntu hardy main
    deb-src http://ppa.launchpad.net/freenx-team/ubuntu hardy main

    # Ubuntu FreeNX Repository for Intrepid
    deb http://ppa.launchpad.net/marceloshima/ubuntu intrepid main
    deb-src http://ppa.launchpad.net/marceloshima/ubuntu intrepid main
    deb http://ppa.launchpad.net/freenx-team/ubuntu intrepid main
    deb-src http://ppa.launchpad.net/freenx-team/ubuntu intrepid main

  2. Update the list of packages kept on your machine by hitting Reload in Synaptic or sudo apt-get update from the Terminal
  3. Install the freenx-server package, either from Synaptic or from the Terminal using sudo apt-get install freenx-server .
  4. Grab the necessary clients from NoMachine’s download page and install on the machine of your choice.
  5. Marvel at the lack of work required.

There is still the ability to tweak the configuration until the Second Coming of Christ, as is typical of Linux, but this is only needed if you want remote printing (which I haven’t tried… yet), sound, or certain other things like setting up a remote login cluster or something. If you just want to be able to log in, you’re done. Ain’t that nice.

No comments:

Post a Comment