NX on Android

by cs

Before anyone gets excited: I’m cheating here. This is not a native NX client for Android (more on that at the end of this post). I’m running ubuntu in a chroot environment under Android. It works surprisingly well though.

An NX session running in a chroot environment on Android

Ubuntu on Android
Installing Ubuntu in a chroot environment is not the scope of this post. Complete Linux Installer from the Google Play Store makes the process relatively pain-free. Go for Ubuntu 12.04 with the LX Desktop Environment that comes with the “Small Ubuntu Image”.

Complete Linux Installer simplifies setting up a chroot environment

NX client
Installing an NX client is unfortunately a bit harder than I would have hoped. QtNX is part of the standard Ubuntu repositories, but the Qt widgets didn’t seem to work properly – not sure whether it’s a problem with LXDE or with the VNC client, but the controls (dropboxes etc.) simply didn’t render. Therefore we’ll resort to OpenNX. Binary Debian packages are only available for x86 so that we’ll have to build from source. Launching your newly installed Ubuntu will get you to a root terminal within your chroot environment. First, you’ll have to install some build dependencies:

That’s it. Open a VNC connection to localhost:5902, select “Run” from the start menu and launch opennx.

Native NX client for Android
It should be pretty straightforward to build a native NX client connecting to a native X server. I’ve already ported most of the dependencies for another project. Let me know if there’s any interest.

Perhaps bVNC, my open-source VNC app with AutoX functionality, would serve your purposes? AutoX provides the same functionality as NX but uses VNC rather than a compressed X protocol. The back-end consists of x11vnc and Xvfb or Xvnc.

It’s available on Google Play and Blackberry World for free and as donation-ware. Search for “bVNC” and you’ll find it easily, but here is a link:

[…] on Android or iOS, although a how-to for geeks describes how to run NX in a chroot environment with Ubuntu on Android; however, the benefits of this solution in the daily grind would appear to be […]