The NX technology is developed by the Italian software company NoMachine. NX makes remote X11 fast enough to enable users to access remote Linux and Unix desktop sessions even over a low bandwidth and high latency data link such as provided by a modem. If set up as a proxy, NX also tunnels Remote Desktop Protocol (for Windows Terminal Server sessions) and remote VNC sessions (all types of OS platforms) and lets them benefit from some of the same speed improvements. To do this, NX uses highly optimized compression techniques to minimize the amount of X11 data prior to transmitting it across the network. NX also makes extensive use of caching in order to make the session as responsive as possible; for example, if a menu is opened, the first time it will take a few seconds, but every subsequent time the menu is opened it will appear to be instant due to caching.
In addition to simply allowing users to log in remotely over a slow internet link to a server graphically, NX also allows them to suspend and resume sessions. During suspension, the processes invoked inside the session continue to run, and so many people have come to use NX as a graphical alternative to SSH and the 'screen' application - in order to run applications such as xchat permanently on a computer with a fixed internet link.
Compared to its predecessors NX is much faster. It accomplishes this by eliminating most of the X roundtrips (a message sent back and then forth between the client and server). The others only attempt compression, but roundtrips were not eliminated.
The primary client for use with NX is the official NoMachine client. However, many free software developers are unhappy with this client as it is closed-source and doesn't run on all the architectures which Linux supports, such as PowerPC. Because of this, there are two different efforts in place to try and create an open-source client for use with NX.
The most mature of the two projects is Lawrence Roufail's nxc client library. This is a full library which can be used for other clients to build upon, and another application, 'nxrun', is provided which makes use of this library. As of 2006, the library does not support suspending or resuming sessions, nor does it support using any compression method other than JPEG for the graphics.
The other project was a proof-of-concept application written by Joseph Wenninger called kNX. This was meant to eventually become a complete NX client, showing that an open-source client could be written. However, this implementation got stuck in an incomplete stage; to date it lacks many important features. As such, kNX was effectively useless. In late 2005, Fabian Franz and George Wright started to change the kNX backend to use the nxc client library. This is ongoing work.
Remote desktop | X Window System | Linux
NX NoMachine | NX | FreeNX
This article is licensed under the GNU Free Documentation License.
It uses material from the
"NX technology".
Home Page • arts • business • computers • games • health • hospitals • home • kids & teens • news • physicians • recreation• reference • regional • science • shopping • society • sports • world