Never fear, Linux users! You too can control your machine with a Bluetooth phone.
Continuing with the remote control theme, here's an option for Linux users who would like to have functionality similar to Salling Clicker [Hack #8] or PuppetMaster [Hack #13].
Bluemote is a software package written specifically to take advantage of the capabilities of a Sony Ericsson phone. We tested it using a T630, but several other models from the same manufacturer should also work. Many of the steps in this hack are similar to the next hack [Hack #10]. In fact, Bluemote was inspired by the bluexmms application, extending this control to the operating system.
In order to get Bluemote working, you'll need a working Bluetooth stack and utilities [Hack #1] and a Sony Ericsson phone that is paired with your computer [Hack #4]. Download the software itself from http://www.geocities.com/saravkrish/progs/bluemote. You will also need a copy of the scripts the author has developed for the package, found at http://www.geocities.com/saravkrish/progs/bluemote/scripts.tar.gz.
Uncompress the Bluemote package. In the newly created bluemote directory, there is a compiled bluemote binary file. The author states that the binary was compiled under Fedora Core 1, and we had no problem running it on later versions of Fedora Core or Ubuntu Linux. The source code is also provided, should you wish to compile it yourself. It's a good idea to copy bluemote to somewhere in your path, such as /usr/local/bin.
Next, uncompress the scripts package. Bluemote looks for the newly created scripts directory in your user home directory, so if it isn't there now, you should move it appropriately. To take advantage of the scripts for volume control, you will need to install the aumix software. Ubuntu and Debian users can install it with apt-get install aumix.
Finally, you'll need to create a .bluemote directory inside your home directory. In the unpacked Bluemote source code package, you will find a file called bluemote-example.cfg. Copy this file to the new .bluemote directory and rename it bluemote.cfg:
mkdir ~/.bluemote cp ~/scripts/bluemote-example.cfg ~/.bluemote/bluemote.cfg
Chances are that your phone is paired with your computer using channel 1. You can determine this by executing rfcomm without any parameters:
rfcomm rfcomm0: 00:0F:DE:E5:2E:65 channel 1 clean
Bluemote requires your phone to use channel 4. This is easily accomplished by running the following command using sudo or as the root user:
rfcomm bind /dev/rfcomm0 00:0F:DE:E5:2E:65 4
You can confirm this was successful by executing rfcomm again with no parameters.
That's got all of the requirements out of the way! Now, you can run bluemote from the command line. If you wish, you can append --log to have the program save debug information in the .bluemote directory.
If everything has been done correctly, your phone should now prompt you to accept a new connection from your Linux machine. You'll need to enter a PIN on the phone, and if you have left the Bluetooth settings alone, a window should pop up on your Linux box, asking you to confirm the PIN.
Once the pairing is complete, after a few seconds your phone should say "Bluemote loaded" on the main screen. Navigate to the Connectivity Accessories menu, and youll be presented with a selection of items you can now use to control your Linux machine:
Mute/Unmute and Volume Control
These options control system sound settings.
This option conveniently shows what is currently playing in the GNOME media player.
This menu allows you to control the transport in either Rhythmbox or XMMS.
This option allows you to lock the GNOME screen remotely.
This option seems to work only partially using the joystick, but you can use keys 5 and 9 to move side to side, and keys 6 and 8 to move up and down. Key 1 performs mouse clicks.
If you own a Sony Ericsson phone and use Linux as your primary operating system, you really should check out this free and convenient program.
Bluetooth, Mobile Phones, and GPS
Network Discovery and Monitoring
Wireless Network Design
Appendix A. Wireless Standards
Appendix B. Wireless Hardware Guide