The Arrival of NX, Part 1
Staying quiet didn't last long for me, however. I gave up only until I by accident came across a posting by Gian Filippo Pinzari. This was more than two years ago, March 23, 2003, to be precise. The posting's title was "About our effort at NoMachine". Directed to firstname.lastname@example.org, the open mailing list of the then still-united XFree86 project, Gian Filippo detailed the achievements of a group of developers in his company, NoMachine. The group successfully had concluded work on the first version of a new "low bandwidth remote X" application, NX, that the company started to sell as a commercial product. Later, I found out that Gian had sent similar messages to other addressees, including the Linux Terminal Server Project (LTSP), KDE Core Developers, GNOME Developers, RealVNC, TightVNC and the rdesktop mailing lists. The developer communities thus were informed of NX.
In these various messages, Gian hinted at the commercial NoMachine NX Server product. The features he outlined sounded exciting enough, but it was another message I took from his postings that thrilled me the most. It was how he outlined that NoMachine had released its main intellectual property, the core NoMachine NX libraries, under the GPL license. He wrote, "It is there and everybody can use it."
Out I went and installed NX, and I immediately was hooked. The performance was in a completely different league from any other remote X or GUI connection I had seen on Linux.
Even better, I was not restricted to X11 sessions. I also could hook up to a TightVNC server in our company network. At the time, it was hosted on a remote site, wired up with an ISDN dial-in line. Tunneling that VNC connection through an NX proxy link, I experienced a speed increase at least two-fold over a plain vanilla TightVNC link.
Furthermore, NX also let me access a Windows XP Professional box or an MS Windows Terminal Server, which both use RDP (see Figures 1 and 2). Again, with RDP running over NX, performance and response were remarkably better than when going through a flat rdesktop connection.
I started to sense what Gian Filippo had hinted at when he wrote in his announcement mail: "In the future, we envision a world where any application is available to any device, from anywhere in the world. To make this possible we needed efficient transport and compression of X-Window."
In the two years since my introduction to low-bandwith remote desktop access through NX, I have learned a lot about how the X Window System and remote X connections work. I ran some benchmarks with NX, and I became familiar with NX developers. I learned about their development roadmap. I am still not a C or C++ coder, and I still can't understand anything but about half of the comments in C/C++ source files. But what I've learned is worth sharing with you. I have had a lot of e-mail exchanges with NX developers. All of them, particularly the project lead, Gian Filippo Pinzari, have been friendly and patient and have explained things and answered all my many questions.
NoMachine ships with its GPL code a command-line utility named nxcompsh. It serves to establish peer-to-peer NX sessions. On top of the GPL core NX components released by NoMachine, a commercial version of the software is available as the NoMachine NX Server. This version makes installing, configuring and running NX a simple task, feasible for a common user in seconds.
Getting Started with DevOps - Including New Data on IT Performance from Puppet Labs 2015 State of DevOps Report
August 27, 2015
12:00 PM CDT
DevOps represents a profound change from the way most IT departments have traditionally worked: from siloed teams and high-anxiety releases to everyone collaborating on uneventful and more frequent releases of higher-quality code. It doesn't matter how large or small an organization is, or even whether it's historically slow moving or risk averse — there are ways to adopt DevOps sanely, and get measurable results in just weeks.
Free to Linux Journal readers.Register Now!
- August 2015 Issue of Linux Journal: Programming
- Django Models and Migrations
- Hacking a Safe with Bash
- Secure Server Deployments in Hostile Territory, Part II
- The Controversy Behind Canonical's Intellectual Property Policy
- Huge Package Overhaul for Debian and Ubuntu
- Shashlik - a Tasty New Android Simulator
- Embed Linux in Monitoring and Control Systems
- KDE Reveals Plasma Mobile
- diff -u: What's New in Kernel Development