An interesting free download aims to let users of heterogeneous mobile devices effectively Xhost Linux applications and desktops, without installing anything. The “NX Web Player” from Italian network computing specialist NoMachine is due early next year, with the 4.0 release of its NX network computing suite.
Additionally, NoMachine shipped an interim 3.3.0 release of NX, it announced.
NoMachine expects to release the NX Web Player as a free download next year, concurrently with the delivery of NX 4.0. The Player is said to enable browsers running on desktops and cell phones, including the Apple iPhone, to run and display remote Linux desktops without requiring installation of client software.
NX Web Player, requesting a remote session (left) and interacting remotely (right)
(Click on either to enlarge)
NX Web Player event flow
(Click to enlarge)
NX Web Player contains three key components: an NX agent running on the NX Server, an Nxwebplayer binary written in Perl, and a Nxwebrunner binary written in C. The NX Web Player process goes roughly as follows (more detailed views can be found in the diagrams, above and below):
1. Clients running Web Player in a browser log onto a web server connected to an NX Server 4.0 implementation and enter authorization data.
2. Using the AJAX GUI frontend, the client creates an XML HTTP request to send events, such as mouse clicks and keystrokes.
3, The web server runs an instance of Nxwebrunner for each XML HTTP request, and contacts Nxwebplayer, which establishes a communication with the NX Server.
4. On the NX Server, the NX agent decomposes the remote desktop in tiles, and them codifies and sends the image tiles to the Web Player.
5. The process repeats with each remote click or keystrokes. On the Web Player app, AJAX helps limit screen refresh to content that has been changed, avoiding complete page reloads.
NX Web Player image flow
(Click to enlarge)
NX 3.3.0 ready for download
NoMachine also released version 3.3.0 of its Linux-compatible NX Server, Node, and Client applications. This appears to be a routine maintenance release that fixes a number of bugs and other problems. Issues solved include server disconnect bugs, “Companion DEB” installation problems, various screen-painting errors, and incorrect keyboard mapping on Ubuntu 8.10.
Stated Sarah Dryell, NoMachine Business Development Manager, “With this new [Web Player] tool, NoMachine is offering them [customers] the opportunity to make their already mobile workforce even more mobile. The application was designed with a radical approach: to be fully web-based with only a standard browser required for access.”
Available in open source and commercial versions, NX aims to reduce the bandwidth required to run X Window applications over a network. It does this by placing caching proxy servers at either end of the connection. The servers work to limit network transfers to “differential” data, such as cursor movements and menu expansions.
The X Window system has a “client-server” architecture, with the part running on the server referred to as the “client,” and the part running on the client referred to as the “server.” (Jim Gettys may be the only human being who understands why the terms are reversed that way). Almost all graphical Linux applications use X. However, since relatively few Linux users avail themselves of X's ability to run over a network, few X apps are optimized to economize the data transfers between the X client and the X server (which run on the same machine for most users nearly all the time). NX simply aims to fix that problem.
This article was originally published on LinuxDevices and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.