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.
I'll post more as we progress.