如何从命令行控制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
这将改变音量,而不做任何图形化。