The transformative world of NXclient and FreeNX: Remote desktop gets real time
Jan 2nd, 2009 by harijay
As a crystallographer we routinely travel to the national synchrotron light sources at Chicago , NSLS on Long ISland NY, the BCSB at Lawrence Berkeley etc to collect X-ray diffraction data from our protein crystals at the various beamlines.
A beamline is basically a station or a lab room at a synchrotron facility where out of a tube emerges a very intense strem of x-ray photons , typically at a tuned wavelength. While synchrotons are very complex machines , the beamlines themselves are also are very sophistcated experimental stations and typically have several computer controlled components like the detector , monochromator , crystal bearing goniometer , cryo-coolers , video cameras and many more . All of these synchronize to allow you to collect your data and are operated using a single computer loaded with the beamline control software.
Each data collection run goes on for many hours and you end up working almost continuously for a 48hr stretch since you typically get only one or two such 48 hr allocations per 3-4 month cycle. So a beamline trip is a fairly involved activity , especially if you are not fortunate to have a synchrotron in your own backyard.
But a lot of that is changing thanks to things such as NXclient from Nomachine
and its counterpart FreeNx from Gnu.
NXclient and Nxservers are basically network solutions that allow you to operate and interact with a remote computer as though you were actually there . NxClient is thus basically a remote desktop application like apple screen-sharing or real-vnc ( chicken on the VNC) but in my opinion offers a level of interactivity with the remote machine at a speed that surpasses these other offerings. In NXclient the control information is sent over ssh (secure shell) and the compression allows almost real time interactivity with the remote computer especially where the windowing/graphical system is X-based. So for Linux/Unix /Solaris and even for Xbased MacOSX applications NXclient/Nxserver technology allows you to control the remote system with very much near real-time interactivity.
The reason I call this transformative is that a lot of synchrotron beamlines employ applications running off linux servers and soon we will not have to travel to these facilities but can operate the experiments remotely using nothing other than a robot to mount our crystals and the beamline computers to control our experiment whilst sitting at a the comfort of a remote computer connected via NXclient.
I decided to try out NXserver on my home machine and controlling an application on it from my lab. Installation my own home ubuntu box was a breeze, and withn minutes I could connect remotely from my lab macbook pro running a copy of the nxclient . Although my connection up at home is the “slow” standard comcast cable internet and my lab computer is on a LAN connection I could interact with a pymol session almost as if I were sitting at home.
I really cannot wait to start controlling the robots at the synchrotron while I sit at home sipping tea and eating crumpets.
You can catch the original high resolution nxclient screencast at bioscreencast.com
[...] Nxclient from Nomachine : Hari blogs about bringing supper zippy remote desktops to the X-server and client [...]
[...] nature of the control . In the video you will see us align a crystal by clicking a window on an nxclient session . The robot responds almost immediately to our click event. The video also shows the robot moving [...]