Set the volume in OpenBox/LXDE (or on the command line) with PulseAudio and Ubuntu
March 05, 2013 [Tech]I am switching to LXDE, and enjoying it, but a few things require some manual config before it's just how I like it.
To control the sound volume with the volume buttons, the default LXDE config in ~/openbox/lxde-rc.xml contains an entry like this:
<!-- Doesn't work for me --> <keybind key="XF86AudioRaiseVolume"> <action name="Execute"> <command>amixer -q sset Master 3%+</command> </action> </keybind>
(Inside the <keyboard> section.)
This doesn't work for me, but we can do it by sending a command to PulseAudio, using the pactl command. The command to increase the volume is:
pactl -- set-sink-volume 0 +5%
To decrease the volume, put "-5%" instead of "+5%". Note that if you have more than one enabled audio sink you might need to change the "0" to a "1" or something else. Running pactl stat should help you here.
[Beware of bug 686667, meaning you can't use pacmd and you must have the -- at the beginning.]
So the correct recipe for your OpenBox config in ~/openbox/lxde-rc.xml is:
<keybind key="XF86AudioRaiseVolume"> <action name="Execute"> <command>pactl -- set-sink-volume 0 +5%</command> </action> </keybind> <keybind key="XF86AudioLowerVolume"> <action name="Execute"> <command>pactl -- set-sink-volume 0 -5%</command> </action> </keybind>
After editing this file you can run:
openbox --reconfigure
To update without restarting OpenBox.
Of course, because I don't have volume control buttons, I want my volume to change with Ctrl-Alt-PageUp and Ctrl-Alt-PageDown, so I use this recipe:
<keybind key="C-A-Prior"> <action name="Execute"> <command>pactl -- set-sink-volume 0 +5%</command> </action> </keybind> <keybind key="C-A-Next"> <action name="Execute"> <command>pactl -- set-sink-volume 0 -5%</command> </action> </keybind>
but that's just me.