views:

87

answers:

1

I'm pretty new to the whole DBus stuff so excuse me if this is trivial, but I was wondering whether, using DBus, it is possible to set the audio volume from the command line.

+2  A: 

This seems to work on GNOME 2.30 in Ubuntu 10.04:

$ dbus-send --session --dest=org.ayatana.indicator.sound /org/ayatana/indicator/sound/service org.ayatana.indicator.sound.SetSinkVolume uint32:40

That sets the volume to 40%. Replace 40 with whatever percentage you want the volume to be.

Conversely, to see what the current volume is:

$ dbus-send --session --print-reply --dest=org.ayatana.indicator.sound /org/ayatana/indicator/sound/service org.ayatana.indicator.sound.GetSinkVolume
method return sender=:1.54 -> dest=:1.2228 reply_serial=2
   double 39.9994

(Yes, you set the volume as a uint32, but get it as a double. I don't get it either.)

Given that Ayatana seems to be a Ubuntu project, I don't know how portable this is to other distros.

Paul Kuliniewicz
Sounds just like the thing I was looking for. Thanks mate. I'll also check if this works on other distros.
cdecker