如何从命令行控制KDE中的卷?

我想使用xbindkeys来设置一个组合键来增加/减少音量,但为了做到这一点,我需要一个命令来运行来改变音量,而不必单击音量图标并用鼠标进行更改。 我怎样才能做到这一点?

您可以使用qdbus访问图形qdbus 。 这些是增加和减少音量的命令:

 qdbus org.kde.kmix /kmix/KMixWindow/actions/increase_volume com.trolltech.Qt.QAction.trigger qdbus org.kde.kmix /kmix/KMixWindow/actions/decrease_volume com.trolltech.Qt.QAction.trigger 

作为参考, man qdbus显示语法为qdbus ,您可以通过运行较短的命令在每个阶段查看可用选项列表 – 例如,运行qdbus org.kde.kmix将显示可用路径列表, qdbus org.kde.kmix /kmix/KMixWindow/actions/decrease_volume将显示该路径的可用方法列表等。请注意,可以调用标记为read或readwrite的方法没有争论获得他们当前的价值 – 这对你的自动化可能是有用的。

或者,您可以使用/ Mixers选项直接访问音量控制 – 即不通过图形kmixer。

只需调用qdbus org.kde.kmix /Mixers org.kde.KMix.MixSet.currentMasterControl来找出当前的主控件(在我的例子中,alsa_output.pci-0000_00_1b.0.analog-stereo)。 然后使用与该名称匹配的混音器,即/ Mixers / 0 / alsa_output_pci_0000_00_1b_0_analog_stereo,方法为org.kde.KMix.Control.increaseVolume或org.kde.KMix.Control.decreaseVolume。

因此,直接访问音量控制将是这样的:

 qdbus org.kde.kmix /Mixers/0/alsa_output_pci_0000_00_1b_0_analog_stereo org.kde.KMix.Control.increaseVolume qdbus org.kde.kmix /Mixers/0/alsa_output_pci_0000_00_1b_0_analog_stereo org.kde.KMix.Control.decreaseVolume 

这将改变音量,而不做任何图形化。