Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I have a Bose Soundlink external audio device, which I use to stream music from my computer to my stereo. Ubuntu recognizes the device, but does not automatically use it. In order to get PulseAudio to use it for output, I have to manually choose it in the 'Output' tab in 'Sound settings'.

I would like PulseAudio to always prefer an external device over the internal, if one is available. Is there a way to accomplish this?

share|improve this question

2 Answers 2

In theory, this should be handled by 'PulseAudio Volume Control'. There is a button to select a device as the default device, though imho poorly titled as 'Set as fallback'. More info about this feature here: http://ubuntuguide.org/wiki/Ubuntu_Oneiric_Hardware

Unfortunately the feature doesn't work. As soon as a USB audio device is unplugged the setting as default device is annoyingly forgotten, despite the fact that all the other settings such as volume, balance, etc. are retained next time the device is plugged in. In your case, if the device is not being removed this feature may actually work for you. If you are missing the app, just install the package 'pavucontrol'

I use a USB headset for calling and had to make a script using 'pacmd' to enable or disable it as needed to avoid going through the GUI, This allowed me to to just add a few launcher items to switch back and forth as needed. In my case, my script to enable the headset is:

pacmd "set-default-sink alsa_output.usb-Logitech_Logitech_USB_Headset-00-Headset.analog-stereo"
pacmd "set-default-source alsa_input.usb-Logitech_Logitech_USB_Headset-00-Headset.analog-mono"

And to revert to my internal audio:

pacmd "set-default-sink alsa_output.usb-Logitech_Logitech_USB_Headset-00-Headset.analog-stereo"
pacmd "set-default-source alsa_input.usb-Logitech_Logitech_USB_Headset-00-Headset.analog-mono"

'pacmd' is fairly easy to use, just run it from terminal and enter 'help' for more info.

share|improve this answer
Also worthy of note, I've switched to a KDE based distro (NetRunner) and audio device preferences are handled much better, even to the point of using different default devices for different application types (communication, multimedia, etc). –  Veazer May 9 '13 at 19:14

Also of use is loading the the module module-switch-on-connect. If you add the line

load-module module-switch-on-connect

to /etc/pulse/default.pa (as su, of course), this should happen automatically without having to call a script.

share|improve this answer
Thanks! That's an elegant solution to the problem. To test it: $ pactl load-module module-switch-on-connect –  iElectric Sep 30 '14 at 17:29

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.