Better X Sessions from Home (NX)

Do you use X applications from home/laptop outside of SPH? Tried of slow response time for X apps? Unwilling or unable to install X on your Windows machine? Maybe you have tried X applications, but it was so painful you gave up?

Rejoice, because all these issues melt away with NoMachine's 'NX CLient'. The tongue in cheek hype aside, this really is a far better way to access our servers when you are outside of SPH. A short list of the advantages includes:

  • Faster - waaay faster. This is because the X protocol was designed to be used on very fast networks. As soon as you get on something slower (remote in any sense), the time for all those tiny packets to go back and forth adds up. Part of the application runs on the server and handles most of the X traffic. It then compresses what your machine needs and sends it to your machine. The result is an X application (e.g. xterm or nedit, among others) that behaves almost as fast as it does at SPH.
  • Works on Linux, Mac and Windows
  • Secure - all traffic is encrypted
  • If your connection to our server fails, the session is preserved and you can reconnect again with little/no loss.


Installation

The servers all have their part installed. You need to download and install the client on your machine. Visit

 http://www.nomachine.com/download.php

to download and install the client for your machine. Mac users must have the X11 package installed. This comes with the MacOS DVD for your system. Windows users, only install the client. There should be no need to install the 4+ optional packages. The install process for both is as you'd expect.


Configuration

Invoke the 'NX Connection Wizard' (done automagically during install for Mac users). There are old pictures of the configuration screens at

 http://www.debianadmin.com/freenx-server-and-client-installation-in-debian-etch.html

Set the following:

Session:  snowwhite (or whatever name you want)
Host:     snowwhite.sph.umich.edu  (you MUST specify sph.umich.edu)

On the dropdown which shows 'KDE', Linux or Windows users should select 'Custom'. This enables the 'Settings' button. Select the Settings button and it opens a new window. In this new window click on 'Run the following command'. This enables a text box where you enter:

xterm -sb +si -sk -sl 2500

Click 'OK' to close this window and 'Next' to close the parent window. Finish up as usual.

For some surprising reason the 'Custom' selection does not behave. Mac users should rather choose 'Run the console' which also results in an xterm being opened for you. This xterm, however, does not have scroll bars. However, if the Mac user enters an xterm like that shown above in his/her console, the result is exactly the same (except you have two xterms open). You don't need to generate a second xterm, unless you really want to scroll back to see previous output.

It is really important that you use this Custom or console setting. Choosing a conventional window manager like Gnome or KDE will probably fail (the most favorable case) or if it does actually work, it will consume a huge amount of resources on the machine you are logging into, making life harder on everyone. Do not choose anything except Custom or Run the console.

Invoke the Application

Invoke 'NX Client' from the Desktop icon or from your Start-All Programs list (Mac users use Finder and see it in Applications). This brings you a login prompt where you select the configuration you want and specify the userid/password.

After connecting an 'xterm' shows up on your Windows/Mac/Linux screen. (Mac users will have X11 invoked for them.) From here, it's just like you did an ssh to the system from anywhere else, only faster. When you exit this initial xterm, the session is closed and you must start again. If you want additional xterms, just invoke them from your initial xterm as you would any other place.

In some ways this replaces the SSH graphical application some Windows users have been using in the past. If you use X applications, however, this is far faster. If you don't use X applications, continue using your conventional SSH tools, NX is not for you.