coding, hacking, startups, computer security, technology and more

How to Completely Remove Pulseaudio Server From Karmic Koala

I don't think I'll ever understand why Ubuntu is becoming increasingly attached to Pulseaudio. While I appreciate the neat things you can do with it, I've had NOTHING but problems when using it in conjunction with voip/sip applications such as Ekiga (or zoiper). Don't get me wrong, I have tried to make friends with it. I once wasted the best part of half a day trying to come up with some form of a pulseaudio configuration that produced even semi-decent results with voip applications. It was all in vein and so it had to go - I removed Pulseaudio and everything worked, perfectly. That was in Juanty, but things were different now since I'd just upgraded to Ubuntu 9.10 aka Karmic Koala. Having upgraded, I quickly went to remove my arch enemy, otherwise known as Pulseaudio. Things unfortunately didn't work out to well, since it seems a portion of the sound applications and applets are now dependant on Pulseaudio. So I tried yet again to make friends and still conclude Pulseaudio is an epic failure.

What happens if you remove Pulseaudio on Karmic Koala?

Removing Pulseaudio in Karmic means you lose some sound related gnome goodness. You lose the volume control applet (aka speaker icon) and the hardware keyboard volume control keys stop working too. The OSD that normally displays when you volume up/down/mute also disappears. Really, I didn't care about this loss, since I never use the graphical mixer anyway - that's kinda the point of having the hardware volume keys, isn't it ? The OSD is just bling, and I could live without it as long as I could just get the hardware keys working.

Instructions for removing Pulseaudio from Karmic Koala

And so here's what I ended up with - hardware keys work and the increment/decrement of the up/down buttons is now configurable. I don't have an OSD and I don't have gnome sound volume control applet anymore. If like me, you want to remove Pulseaudio no matter what, then follow these very gratifying steps:

Step 1.Uninstall PulseAudio

Use Synaptic via System » Administration » Synaptic Package Manager or sudo apt-get remove --purge pulseaudio from the shell

Step 2. Disable the gnome keyboard volume related shortcuts

Disable the gnome keyboard volume related shortcuts since they are pulseaudio dependent and will no longer work. Go to System »Preferences » Keyboard Shortcuts and disable the three volume shortcuts (up, down and mute). You can disable a shortcut by clicking on the line and then pressing the backspace key (i.e. backspace, NOT the key on your keyboard labeled 'delete')

Step 3. Configure your own keybindings to control the hardware volume keys.

I use compiz, so I opted to setup custom commands with custom keyboard bindings using the compizconfig settings manager. If you don't use compiz, then you'll need to configure the keybindings in whatever you use. If you are using compiz go to System » Preferences » CompizConfig Settings Manager. Then go to Commands and setup your keybindings like this:

Keep in mind you can easily attach these commands to edge or button bindings too. Keyboard bindings is all I wanted thou:

The jbw-mute-audio is a small shell script which uses amixer to check whether the audio is muted or not and then mutes/unmutes accordingly:

# Mute or unmute
# jbw Mon, 08 Feb 2010
(amixer sget Master  | grep '\[off\]'  && amixer sset Master unmute) \
    || amixer sset Master mute

Save the above script and customize it accordingly (man amixer). Don't forget to chmod the script so it's executable.

That's it! Enjoy life without Pulseaudio woes!