User: Password:
Subscribe / Log in / New account


Google releases Neatx NX server

July 24, 2009

This article was contributed by Koen Vervloesem

On July 7, internet search giant Google not only announced its operating system Google Chrome OS with much fanfare, it also quietly released Neatx, an open source NX server. According to the announcement, Google has been looking at remote desktop technologies for quite a while. While the X Window System has issues with network latency and bandwidth, the NX protocol compresses X requests and reduces round-trips, resulting in much better performance — to the point that it can be used over network connections with low bandwidth.

So with Neatx, users can log in to a remote Linux desktop. Moreover, the session can be suspended and resumed later from another computer, resembling the functionality that GNU screen offers for console sessions. But, unlike screen, a Neatx user has access to the GUI of the remote machine, just as if they were sitting in front of it.

The NX protocol, using SSH as a transport and for authentication, was developed by the Italian company NoMachine, which released the source code of the core NX technology in 2003 under the GPL. NoMachine offers free (as in beer) client and server software for various operating systems, including Linux. It wasn't very long before free-as-in-speech NX clients emerged, then, in 2004, Fabian Franz implemented FreeNX, a GPL implementation of an NX server.

FreeNX development stalls

However, after a number of years the FreeNX project is facing some serious problems. Franz hasn't responded to e-mails on the developer mailing list for a long time and he seems to be the only one able to check code into the repository. As a consequence, the development has stalled for some time. That brought Florian Schmidt to ask about the future:

I think the whole freenx project should decide if they still like to wait for Fabian or if they want to start the project on a new space with some more admins and decide a development core team and project space maintainers.

Because upstream FreeNX development has stalled, downstream packagers have essentially picked up the development. There is a FreeNX team that maintains Debian and Ubuntu packages. These maintainers push appropriate patches to their branch and thus have the most up-to-date repository, with some extra features the official FreeNX server doesn't have, such as shadowing local X sessions and stubs for guest sessions. Marcelo Boveto Shima, one of the maintainers, noted FreeNX problems in a post to the FreeNX mailing list: "Working on FreeNX is a dead-end and it is becoming too hackish." He decided to write his own FreeNX server, TaciX. In the meantime, the Debian/Ubuntu repository has become the "upstream" for Gentoo's FreeNX package.

A new NX server from scratch

Shima wasn't the only one disappointed in FreeNX development. According to Google the server was "written in a mix of several thousand lines of BASH, Expect and C, making FreeNX difficult to maintain." That's why some developers at Google designed Neatx, a new implementation, based on NoMachine's open source NX libraries:

Designed from scratch with flexibility and maintainability in mind, Neatx minimizes the number of involved processes and all code is split into several libraries. It is written in Python, with the exception of very few wrapper scripts in BASH and one program written in C for performance reasons. Neatx was also able to reuse some code from another Google Open Source project, Ganeti. The code still has some issues, but we're confident interested developers will be able to fix them.

Google implemented Neatx because the company operates a large number of virtualized workstations in clusters [PDF], running on its cluster virtual server management software tool, Ganeti. To be able to log in to the virtual workstation from home or via a wireless connection and work smoothly, X or VNC can't be used. That led Google to turn to the NX protocol. An added bonus is that the protocol allows restoring a session opened at the office from home and vice versa. In the release announcement, the developers noted that Neatx implements some features not found in FreeNX, but also that it lacks some other features that FreeNX has.

Neatx in action

Your author tried both QtNX and NoMachine's NX client to connect to FreeNX 0.7.3 and Neatx on Ubuntu 9.04. Because Neatx has not yet released an official version, your author checked out the latest source code and built it. It turned out QtNX can't connect to Neatx because of a version mismatch, and the Neatx developers seem to test their server software with NoMachine's NX client, so that is the only supported client for now.


Session creation, suspension, resumption, and shutdown all work well in Neatx. Users can choose between Gnome, KDE, Application, and Console sessions, and they can run their session on a virtual desktop or as a floating window. They are also able to set the keyboard preferences, the resolution, and choose full-screen mode. Neatx supports session shadowing, the ability for multiple users to view and collaborate within the same NX session. For the moment that only works with sessions belonging to one user, so it's not that usable yet. Sharing of the X clipboard also works flawlessly.

A couple of things don't work yet. For example, terminating an open session from the session list isn't possible. The user first has to resume the session and then terminate it. Tunneling of sound, printers, and Samba are also not yet implemented. And Neatx doesn't support RDP (the remote desktop protocol for Windows) or VNC sessions, something that FreeNX does support. There are also still some loose ends because the code is still alpha. However, the Neatx Google Group is pretty active and already has some interesting suggestions for further developments, such as a jailed NX, enabling users to NX into a server while not being able to see any other user's data, and printer tunneling.

Although the simultaneous announcements of Google Chrome OS and Neatx seem to be pure coincidence, they both are based on the concept of a thin client. Chrome OS is a perfect operating system for the casual user with a netbook connected to internet, running most of the applications in a web browser. For applications that don't run inside the browser, a Neatx server on Google's or someone else's servers can offer a desktop "in the cloud" which can be accessed from everywhere. Google's own use of Neatx for virtual workstations shows that the thin client concept is reviving. Hopefully it will also revive developer's interest in contributing to a free NX server, which is an essential component for this development.

Comments (73 posted)

System Applications

Database Software

MySQL Community Server 5.0.84 has been released

Version 5.0.84 of MySQL Community Server has been announced, it includes a number of bug fixes. "MySQL Community Server 5.0.84, a new version of the popular Open Source Database Management System, has been released. This and future releases in the MySQL Community Server 5.0 series share version numbers with their MySQL Enterprise Server counterparts."

Full Story (comments: none)

PostgreSQL Weekly News

The July 26, 2009 edition of the PostgreSQL Weekly News is online with the latest PostgreSQL DBMS articles and resources.

Full Story (comments: none)

LDAP Software

python-ldap 2.3.9 announced

Version 2.3.9 of python-ldap has been announced, it includes code cleanup and new capabilities. "python-ldap provides an object-oriented API to access LDAP directory servers from Python programs. It mainly wraps the OpenLDAP 2.x libs for that purpose. Additionally it contains modules for other LDAP-related stuff (e.g. processing LDIF, LDAPURLs and LDAPv3 schema)."

Full Story (comments: none)


sqlmap 0.7 released

Version 0.7 of sqlmap has been announced. "sqlmap is an open source command-line automatic SQL injection tool. Its goal is to detect and take advantage of SQL injection vulnerabilities in web applications."

Full Story (comments: none)

Web Site Development

Django 1.1 released

Version 1.1 of the Django web platform has been announced. "Tonight we're extremely proud to announce the release of Django 1.1, the latest major milestone in Django's development."

Full Story (comments: none)

Desktop Applications

Desktop Environments

GNOME Software Announcements

The following new GNOME software has been announced this week: You can find more new GNOME software releases at

Comments (none posted)

KDE 4.3 RC3 released (KDEDot)

Version 4.3 RC3 of KDE has been announced. "Even in the hot phase up to KDE 4.3.0, there have been quite a bunch of fixes to KDE's 4.3 branch. The KDE Release Team has decided to err on the safe side and do another release candidate before KDE 4.3.0 comes out. Dirk Müller has rolled tarballs of the current state of KDE 4.3 and put them up for testers, packages for some distributions are already under way. This also means that the release of KDE 4.3.0 has been postponed for one week. The new planned release date is August, 4th 2009."

Comments (none posted)

KDE Software Announcements

The following new KDE software has been announced this week: You can find more new KDE software releases at

Comments (none posted)

Xorg Software Announcements

The following new Xorg software has been announced this week: More information can be found on the X.Org Foundation wiki.

Comments (none posted)

Financial Applications

Gnucash 2.3.3 released

Version 2.3.3 of Gnucash has been announced. "The GnuCash development team proudly announces GnuCash 2.3.3, the fourth of several unstable 2.3.x releases of the GnuCash Free Accounting Software which will eventually lead to the stable version 2.4.0. With this new release series, GnuCash can use an SQL database using SQLite3, MySQL or PostgreSQL. It runs on GNU/Linux, *BSD, Solaris, Microsoft Windows and Mac OSX. This release is intended for developers and testers who want to help tracking down all those bugs that are still in there."

Full Story (comments: none)

Geographical Software

PostGIS 1.4.0 released

Version 1.4.0 of PostGIS, the spatial data extension for PostgreSQL, has been announced. "This new version of PostGIS includes substantial performance enhancements, more detailed reference documentation, new output formats (GeoJSON) and an improved internal testing system. PostGIS 1.4 also supports the recent PostgreSQL 8.4 release."

Full Story (comments: none)

Music Applications

guitarix 0.05.0-1 released

Version 0.05.0-1 of guitarix, an electric guitar amplifier simulator, has been announced. "Release 0.05.0-1 comes with some major changes: * Completely new source structure by James * add keyboard shortcuts * improved skin handling * add logging window * improved preset handling * add middle tone control * reworked audio engine * add bypass mode * add engine state widget".

Full Story (comments: none)

Languages and Tools


GCC 4.4.1 released

Version 4.4.1 of GCC, the GNU Compiler Collection, has been announced. This release includes a long list of bug fixes. See the changes document for more information on the GCC 4.4 series.

Comments (none posted)

GCC 4.3.4 release candidate available

A release candidate of GCC 4.3.4 is available. "I plan to roll out the final release at the beginning of next week if there are no major problems reported."

Full Story (comments: none)

GCC 4.3.4 Status Report

The July 27, 2009 edition of the GCC 4.3.4 Status Report has been published. "The 4.3 branch is now frozen in preparation for the GCC 4.3.4 release. I am creating a release candidate right now. All patches require release-manager approval."

Full Story (comments: none)


Rakudo Perl 6 development release #19

Development release #19 of Rakudo Perl 6, an implementation of Perl 6 on the Parrot Virtual Machine, is available. "Due to the continued rapid pace of Rakudo development and the frequent addition of new Perl 6 features and bugfixes, we continue to recommend that people wanting to use or work with Rakudo obtain the latest source directly from the main repository at github."

Full Story (comments: none)


argparse 1.0 announced

Version 1.0 of argparse, a command line parsing library for Python, is out with a number of new features.. "The argparse module provides an easy, declarative interface for creating command line tools, which knows how to: * parse the arguments and flags from sys.argv * convert arg strings into objects for your program * format and print informative help messages * and much more..."

Full Story (comments: none)

Python-URL! - weekly Python news and links

The July 28, 2009 edition of the Python-URL! is online with a new collection of Python article links.

Full Story (comments: none)


Tcl-URL! - weekly Tcl news and links

The July 23, 2009 edition of the Tcl-URL! is online with new Tcl/Tk articles and resources.

Full Story (comments: none)


pyxser 1.1r released

Version 1.1r of pyxser has been announced. "I'm pleased to announce pyxser-1.1r, a Python-Object to XML serializer and deserializer. This package it's completely written in C and licensed under LGPLv3. The tested Python versions are 2.5.X and 2.7.X."

Full Story (comments: none)

Build Tools

ControlTier 3.4.6 released

Version 3.4.6 of ControlTier has been announced, it includes bug fixes. "ControlTier is a cross-platform build and deployment framework and toolkit. ControlTier coordinates service management activities across multiple nodes and application tiers. It supplements and replaces homegrown service management and deployment scripts with a well-defined set of lifecycle commands that abstract the details of various types of deployments."

Full Story (comments: none)


emacs 23 is very near (emacs-fu)

The emacs-fu site has a summary of features to be found in the upcoming emacs 23 release. "Emacs's character set is a superset of Unicode, with about four times the space available. That should be enough for the foreseeable future… There are also many new character sets available, as well as new language environments, such as Chinese-GB18030, Khmer, Bengali, Punjabi, Gujarati, Oriya, Telugu, Sinhala, and TaiViet." Also pointed out is an implementation of butterfly mode.

Comments (27 posted)

Version Control

GIT released

Maintenance release of the GIT distributed version control system has been announced, it includes bug fixes and documentation updates.

Full Story (comments: none)

GIT 1.6.4 released

Version 1.6.4 of the GIT distributed version control system has been announced, it includes many new features and bug fixes. "With the next major release, "git push" into a branch that is currently checked out will be refused by default. You can choose what should happen upon such a push by setting the configuration variable receive.denyCurrentBranch in the receiving repository. To ease the transition plan, the receiving repository of such a push running this release will issue a big warning when the configuration variable is missing."

Full Story (comments: none)

Mercurial 1.3.1 released

Version 1.3.1 of the Mercurial source code management system has been announced. "This release includes a number of regression fixes and other small fixes against 1.3. I recommend that all 1.3 users upgrade."

Full Story (comments: none)

Page editor: Forrest Cook
Next page: Linux in the news>>

Copyright © 2009, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds