Search this blog:

Words and works.

Evaluating NX

What is NX? Well, it's software that enables you to securely (via SSH) access and efficiently use your computers and applications remotely. Other open source and commercial products exist that enable similar capabilities, such as VNC, Windows Terminal Services and Citrix. But NX claims better efficiency through the use of an optimized X protocol implementation, and it can serve up X applications as well as VNC and Citrix and Terminal Services (RDP) served applications. Thus we can access Windows, X, and Mac OS X applications remotely using any available Internet connection. Read more about NX at the NoMachine web site (http://www.nomachine.com/).

An open source implementation, FreeNX, is available. Some background information on FreeNX is available on the Linux Journal site here and here. Since I don't want to spend a lot of time setting up open source software, I decided to give the commercial NX product a try. This post provides some details about the installation process so that I can remember what happened and so others can benefit from my experience.

  1. Download the NXClient and NXServer software from the NoMachine site. I chose the RPM format since I use Mandriva, a supported Linux distribution.
  2. The NXClient is a prerequisite for the NXServer, so I attempted to install it first. Here's what happened:
    [root@hwgt ~]# rpm -ivh nxclient-1.5.0-103.i386.rpm
    error: Failed dependencies:
    libstdc++-libc6.2-2.so.3 is needed by nxclient-1.5.0-103
  3. Well, how to find this dependency? We can use urpmf to find the package we need:
    [root@hwgt ~]# urpmf libstdc++-libc6.2-2.so.3
    libstdc++2.10:/usr/lib/libstdc++-libc6.2-2.so.3
  4. OK. So let's install libstdc++2.10.
    [root@hwgt ~]# urpmi libstdc++2.10
    http://gulus.usherbrooke.ca/pub/distro/Mandrakelinux/official/10.2/i586/media/main/libstdc++2.10-2.96-0.83mdk.i586.rpm
    installing libstdc++2.10-2.96-0.83mdk.i586.rpm from /var/cache/urpmi/rpms
    Preparing... #############################################
    1/1: libstdc++2.10 #############################################
  5. Try again:
    [root@hwgt ~]# rpm -ivh nxclient-1.5.0-103.i386.rpm
    Preparing... ###########################################[100%]
    cat: /usr/NX/share/applnk/mdk/menu: No such file or directory
    error: %pre(nxclient-1.5.0-103) scriptlet failed, exit status 1
    1:nxclient ###########################################[100%]

    Well, still an error, but not a showstopper.
  6. And now the server:
    [root@hwgt ~]# rpm -ivh nxserver-1.5.0-55.i386.rpm
    Preparing... ###########################################[100%]
    Error: User 'nx' already exist in the system.
    Error: Please delete the user 'nx' and try again.
    error: %pre(nxserver-1.5.0-55) scriptlet failed, exit status 1
    1:nxserver ###########################################[100%]
    Error: User 'nx' already exist in the system.
    Error: Please delete the user 'nx' and try again.
    error: %post(nxserver-1.5.0-55) scriptlet failed, exit status 1
  7. Oops! Better delete the previously existing 'nx' user and try again:
    [root@hwgt ~]# userdel nx
  8. Now remove the nxserver package:
    [root@hwgt ~]# rpm -e nxserver-1.5.0-55
    NX> 702 Autodetected system 'mandrake'
    NX> 702 Uninstall log is '/usr/NX/var/log/uninstall'
    NX> 702 WARNING: Cannot stop nxstats
    NX> 702 ERROR: id: nx: No such user
    NX> 702 ERROR: Cannot delete user 'nx' from the system
    error: %postun(nxserver-1.5.0-55) scriptlet failed, exit status 1
  9. And re-install:
    [root@hwgt ~]# rpm -ivh nxserver-1.5.0-55.i386.rpm
    Preparing... ###########################################[100%]
    1:nxserver ###########################################[100%]
    NX> 700 Autodetected system 'mandrake'
    NX> 700 Install log is '/usr/NX/var/log/install'
    NX> 700 Creating configuration in '/usr/NX/etc/node.cfg'
    NX> 700 Inspecting local CUPS environment
    NX> 700 Generating entries in '/usr/NX/etc/node.cfg' file
    NX> 700 Version '1.5.0-55' installation completed
    NX> 700
    NX> 700 Showing file '/usr/NX/share/documents/server/install-notices':
    [snip lots of text about creating users, CUPS printing, licensing, etc]
  10. Woo hoo! Looks good. Now install the eval license key as per the emailed instructions from the NoMachine web site and start playing.
  11. I'll post more as we progress.

Tags: nx, rdp | Permalink

© 2010 Evenhouse Consulting, Inc.

A Django site.