Ubuntu – How to switch ‘default’ sound device controlled by hardware keys in Xubuntu

indicator-soundshortcut-keyssoundxubuntu

I installed xubuntu-desktop on a 12.04 Ubuntu upgrade after finding Gnome3 lacking. I've mostly been happy, but I've found an odd and frustrating bug. My laptop has two sound 'outputs' – an HDMI-out plug I never use, and the onboard speakers/headphones. For some reason, the hardware keys have been mapped to the HDMI output, even if I set it as 'fallback' in pavucontrol, and notify-osd only displays changes in the HDMI output (though the panel indicator volume control controls onboard sound). I'd ideally like both hardware keys and notify-osd to be looking at the onboard sound, though if I can't get notify-osd it's an acceptable loss. Having to click through a bunch of stuff to change volume is driving me crazy, though.

Googling suggested that it /may/ be a Pulseaudio/ALSA conflict, but the hardware keys seem to change at least indicated volume in pavucontrol for HDMI as expected (I don't have an HDMI cable to test actual sound output)

Best Answer

I got a clue somewhere to look in Settings / Settings Editor (not the normal Settings Manager)

Then, under xfce4-mixer, there was the setting /active-card which had the value:

PlaybackHighDefinitionAudioControllerDigitalStereoHDMIPulseAudioMixer

I selected 'active-card', and hit the 'Reset Property' button. That turned the setting into:

PlaybackBuiltinAudioAnalogStereoPulseAudioMixer

( These names closely follow the names of the Output Devices in pavucontrol see screenshot )

After a reboot, it worked. My volume buttons now affect the volume in the speakers.

(Scrub my earlier, now deleted, hint/comment about Play/Pause not working. They (still) work fine in Rhythmbox - that was/is an unrelated problem with gmusicbrowser)

This may or may not work for you! :-)

EDIT: For some reason, my xfce profile got corrupted and I've restarted from scratch by rm -rf ~/.config. Now, only a few days later, resetting it didn't work for me either, but setting /active-card to PlaybackBuiltinAudioAnalogStereoPulseAudioMixer did.

EDIT: If the above did not work try setting this via terminal and xfconf, e.g.

    xfconf-query -c xfce4-mixer -p /active-card -s 'PlaybackBuiltinAudioAnalogStereoPulseAudioMixer'
Related Question