December 5, 2007

Control your Linux PC from your mobile phone with Amora

Author: Mohamed A. Yahya

Standing next to your laptop to control the slides during a presentation is not cool. Nowadays everyone uses a presentation device or their laptop's remote controller, but a presentation device can be expensive, few laptops come with a remote controller, and for those that do, Linux compatibility may be an issue. The Amora project turns your Symbian mobile phone into a Linux presentation device using Bluetooth.

Amora comes with two applications: a server for your Linux machine and a client for your phone. Server installation is a straightforward configure-make operation detailed on the project's wiki.

Amora uses Python for Series 60 for its client application, which means it runs only on Symbian Series 60 phones. To install the client application, you first need to have Python for S60 installed on your mobile phone (instructions here). On your mobile phone's memory card (usually called drive E:\) locate or create a directory called Python. Extract the contents of the Amora client package you downloaded into that directory. The file should be placed in the Python directory.


Once you have the server and client installed, it's time to see Amora in action. From the command line on your PC, invoke the server with the command ./amora. It should say something like "Entering main loop..." Now go to your mobile phone and run the Python shell. Select Options -> Run Script, then select to start Amora. To connect to your PC, select Options -> Search devices and locate your PC. You will then be asked to choose a port -- just say OK. Your mobile phone and PC should then be connected.

To start using your mobile phone as a presentation device, select Options -> Start. The phone's screen should go white (which is a good thing). Try moving the joystick on your mobile phone; your PC's mouse pointer should move.

The mouse isn't the only thing you can control with Amora. Open a presentation with a few slides in Impress. Press 8 on your phone and you should see your presentation in full screen mode. To navigate through the slides, use 4 and 6, which correspond to the left and right arrow keys on your keyboard. Press 2 to get a screenshot of your PC on your mobile phone. The 9 key corresponds to Escape and exits full screen mode. The project details page displays the keyboard shortcuts available from your mobile phone using Amora.

Behind the scenes

The Amora server is built on top of standard Linux technologies. For Bluetooth communication, Amora uses Bluez, which is the official Bluetooth protocol stack for Linux. This generally means that if you have Bluetooth working on your machine, Amora should work without the need for special configuration. For mouse and keyboard shortcut functionality, Amora uses XTest, the test extension for the X Window System. Communication between client and server in Amora is done by exchanging very simple strings.

While Amora is a useful utility, some enhancements would be welcome. A nice addition would be to have profiles or modes, each of which would provide a different set of shortcuts, so one could select a profile with the shortcuts required to control a presentation or to control msuic playback and sound, for instance. It would also be a nice to extend the server to handle multiple clients simultaneously for collaborative presentations. The project plans to add a timer in the next release.

Still, in its current form, Amora already gives you more than what you would expect from a regular presentation device.


  • Tools & Utilities
  • Handheld Devices