Answers:
您可以使用混音器。它alsa-utils
在Ubuntu和Debian的软件包中。
amixer
不带参数运行可大致了解默认设备的控件。
您也可以使用alsamixer
不带参数的(来自同一程序包)以获得更直观的概述。使用F6查看并在设备之间切换。通常,您可能有PulseAudio和硬件声卡可供选择。
然后amixer
与set
命令一起使用来设置音量。例如,将主通道设置为50%:
amixer set Master 50%
Master
是控件名称,应与不带参数运行时看到的名称匹配。
注意%
符号,如果没有符号,它将被视为0-65536级别。
如果PulseAudio不是您的默认设备,则可以使用该-D
开关:
amixer -D pulse set Master 50%
注释中指出了其他有用的命令:
要增加/减少+/-
数字后的音量使用,请使用
amixer set Master 10%+
amixer set Master 10%-
要静音,取消静音或在静音/取消静音状态之间切换,请使用
amixer set Master mute
amixer set Master unmute
amixer set Master toggle
另请注意,可能会有两个不同的百分比刻度,默认的原始刻度,对于某些设备,基于分贝的刻度更自然,也由alsamixer
。使用-M
使用后者。
最后,如果您仅对PulseAudio感兴趣,则可能需要签出pactl
(请参阅其他答案之一)。
amixer set Master 10%+
和amixer set Master 10%-
M
in master 区分大小写(必须为大写)。
amixer -D pulse sset Master 50%
静音:
amixer -D pulse sset Master mute
取消静音:
amixer -D pulse sset Master unmute
要将音量调高5%:
amixer -D pulse sset Master 5%+
要将音量调低5%:
amixer -D pulse sset Master 5%-
amixer -D pulse sset Master unmute 5%+
pactl / pacmd(与不同amixer
)允许将音量增加超过100%:-)。
pactl set-sink-mute 0 toggle # toggle mute
pactl set-sink-volume 0 0 # mute (force)
pactl set-sink-volume 0 100% # max
pactl set-sink-volume 0 +5% # +5% (up)
pactl set-sink-volume 0 -5% # -5% (down)
pavucontrol
与中不同,可以进行超过100%的手动设置alsamixer
。
注意:如果要在具有不同接收器的不同主机上共享相同的命令,则可以将其@DEFAULT_SINK@
用作接收器而不是number 0
:
pactl set-sink-volume @DEFAULT_SINK@ +5%
您将默认接收器设置为pactl set-default-sink my-sink-name
(使用列出名称pactl list short sinks
)。
更新:添加toggle mute
(感谢Don Joe)。
更高的音量:
amixer set Master 3%+
较低的音量:
amixer set Master 3%-
静音切换:
amixer set Master toggle
bindsym XF86AudioRaiseVolume exec amixer set Master 3%+
bindsym XF86AudioLowerVolume exec amixer set Master 3%-
bindsym XF86AudioMute exec amixer set Master toggle
bindsym Ctrl+$alt+Up exec amixer set Master 3%+
bindsym Ctrl+$alt+Down exec amixer set Master 3%-
pevik的答案对于PulseAudio几乎是正确的,有两点需要提及:
负音量更改命令将产生错误,因为它的负数部分将被解释为单独的(无法识别)选项;您需要在负数之前的某个位置关闭带有双减号的选项解析,例如“--5%”
真正的静音状态是应该可以使用相同的键进行切换的功能,如果您只是将音量设置为固定值0,该功能将无效,因此正确的命令是:
pactl set-sink-mute @DEFAULT_SINK@ toggle
LE:第一个提示是否适用可能取决于您正在运行的PulseAudio版本或发行版中的其他内容-我注意到在Ubuntu 16上,它在没有“-”的情况下有效,如果添加“-”则失败在负百分比前面。
xbindkeys-config
,我什至不必重启X :)(笑声……没有双关语的笑声)
混音器为我工作,但是当我按下键盘上的调高音量按钮时,却没有得到很好的动画效果。
我决定使用xte
从命令行直接按该键:
提高音量:
xte 'key 0x1008ff13'
音量减小:
xte 'key 0x1008ff11'
静音:
xte 'key 0x1008ff12'
我通过使用找出了keyym(十六进制数字)xev
。
sudo apt-get install xbindkeys xautomation
xev
然后按键盘上的调高音量按钮以获取按键音。密钥符号可能因系统而异,因此从xev找到它是最可靠的方法。
结果对我来说是这样的:
KeyRelease事件,序列37,合成NO,窗口0x2c00001,根0xef,子w0x0,时间6660080,(566,573),根:(664,651),状态0x0,键码123(键符号0x1008ff13,XF86AudioRaiseVolume),same_screen是,XLookupString给出0字节:XFilterEvent返回:False
<command>amixer -D pulse sset Master 3%+ unmute</command>
相关的按键绑定,~/.config/openbox/lubuntu-rc.xml
然后openbox --reconfigure
为我运行修复该问题