How to use a bluetooth headset on Ubuntu 9.10 +

I found a little bluetooth headset at work, and wanted to play audio through it from my laptop. It turns out that nowadays, Ubuntu actually makes this really easy.

I found a guide written for Ubuntu 9.04 on this forum post, but Ubuntu 9.10 now does most of the work for you. (Steps 15 through 27 are still used in this guide, so credit to HyRax1 from forums.overclockers.com.au for the original tutorial)

Bluetooth must already be configured, and your headset must be paired with your machine first. The headset must also be turned on and connected while you follow these steps. Ubuntu should automatically create bluez audio devices for you in PulseAudio.

These are the steps that worked for me. YMMV with other headset brands/models.

  1. Install PulseAudio utils :  $ sudo apt-get install paprefs paman padevchooser
  2. Once installed, go to Applications->Sound & Video->PulseAudio Device Chooser. This will add a black microphone jack icon to your system tray.
  3. Do a left-click on the jack icon and a menu appears. In this menu, choose "Manager". A new window appears.
  4. If it's not already connected, click on the "Connect" button to connect to your local PulseAudio server. When connected, you will see details about it listed.
  5. Click on the Devices tab. Under "Sinks" you should see an entry for "bluez_sink.XX_XX_XX_XX_XX_XX".
  6. Click 'properties' for the 'bluez_sink' device. Highlight the "Name:" of the device (you can do this with a triple-leftclick of your mouse), and press Ctrl+C.
  7. Now go to the Sample Cache tab. You are shown a list of sounds. Choose an OGG file from this list. At the bottom is a "Playback on" drop-down. Choose "bluez_sink.XX_XX_XX_XX_XX_XX" from this list and click on the Play button. You should hear a Ubuntu system sound through your speakers. This proves to us that PulseAudio can play through your Bluetooth headset (but this is NOT the redirection - this is just a test).
  8. Close the PulseAudio Manager.
  9. Do another left-click on the mic jack icon in your system tray.
  10. Go to "Default Sink" and then choose "Other" from the sub-menu. A window appears.
  11. In this window, press Ctrl+V to paste the device name that we copied earlier, and click OK.
  12. Play a sound from somewhere, eg: MP3 or movie in Totem. You should now hear your audio coming through your Bluetooth headset! NOTE: Existing audio streams at the time of changing the sink will continue to play through whatever they were playing through until stopped and started again.
  13. To switch back to your speakers, simply click on the mic jack icon again, choose "Default Sink" and choose "Default" from the sub-menu. The next audio stream played will go back through your speakers.
  14. To make the PulseAudio Device Chooser start automatically on startup, click on the mic jack icon again, choose Preferences from the menu and then click on "Start applet on Session Login" in the window.
  15. Enjoy!

Also note: Any application (including Skype) should be able to play audio through the headset if you follow these steps. If you want to use Skype, you will also need to set up the mic on the headset by following the same steps to configure the bluez source device (‘bluez_source.XX…’) as the 'Default Source'.

I was able to record and playback audio fine with Audacity, and a test call on Skype worked fine.