For the past few months I’ve been implementing an X11 server to run natively under Android. In the near future I may have need for a serializable user interface, so to get a better understanding of how they work I decided to implement the de facto standard, X11.

Well, it turns out the X protocol is bigger than I thought, but through sheer bloody-mindedness I got it finished. And it might actually be useful.

I had assumed that all internet-enabled smartphones would be sitting behind NAT-ing routers, both for security reasons and to conserve IPv4 addresses. But no, on the ‘3’ network in Australia at least, phones all have externally-accessible IP addresses, meaning they can run servers. So you could potentially launch a Linux X application out in the cloud and have it display on your phone.

The user interface is fairly simple: touch the screen to move the pointer, and use the directional pad to activate the left/middle/right buttons. Update: the volume up/down buttons now work as mouse left/right buttons. Both virtual and physical keyboards are supported.

The source code is available at http://code.google.com/p/android-xserver/ under an MIT licence, and the application (called X Server) is available for free through the Android Market.

For me, though, the money quote is:

on the ‘3’ network in Australia at least, phones all have externally-accessible IP addresses, …

Search

Decyber

About

Dropsafe is the personal blog of Alec Muffett with occasional contributions from friends & occasional guest bloggers; it is therefore a blog populated entirely by the personal opinions of the author/s.
All original content hosted on crypticide.com - except where plagiarised from elsewhere quoted or reused - is licensed under CC BY-SA terms.