从终端设置音量


83

是否可以使用终端而不是单击顶部栏中的扬声器图标来设置音量?

我要这样做的原因是我的键盘上没有音量增大/减小按钮,而鼠标却触手可及。


1
读取主音量水平(以百分比表示)0%-100%:amixer sget Master | grep 'Right:' | awk -F'[][]' '{ print $2 }' 将主音量水平提高10%:amixer -q sset Master 10%+
埃里克·莱斯钦斯基

Answers:


97

对于交互式使用,您可以使用alsamixer。对于脚本编写(例如,绑定到组合键),请参阅amixer

alsamixer 默认情况下,在大多数系统中都包含此功能。


要设置主音量,请使用:

# Gets a list of simple mixer controls
$ amixer scontrols 

然后将其设置为所需的音量,例如

$ amixer sset 'Master' 50%

1
“ sset”和“ set”之间有什么区别。(我尝试过,而且都尝试过)
Venryx

@Venryx man amixer建议它们是等效的,并且“ sset”中的“ s”代表“ simple”。还有一个“ cset”设置卡控制内容。
马提亚斯·布劳恩

42

在Openbox的配置文件中找到rc.xml

# increase by 3%
amixer -q sset Master 3%+

# decrease by 3%
amixer -q sset Master 3%-

# mute/unmute
amixer -q sset Master toggle

amixer 手册页可以提供更多详细信息。


21

如果您的系统正在使用pulseaudio,则可以使用pactl

pactl set-sink-volume 0 +15%

要么

pactl set-sink-volume 0 -5dB

尽管您也可以指定整数或线性因子:

set-sink-volume SINK VOLUME [VOLUME ...]
          Set the volume of the specified sink (identified by its symbolic name or numerical index). VOLUME can be speci‐
          fied as an integer (e.g. 2000, 16384), a linear factor (e.g. 0.4, 1.100), a percentage (e.g. 10%, 100%) or a
          decibel value (e.g. 0dB, 20dB). If the volume specification start with a + or - the volume  adjustment  will  be
          relative to the current sink volume. A single volume value affects all channels; if multiple volume values are
          given their number has to match the sink's number of channels.

2
来自arch linux Wiki的说明pactl带有负百分比参数的命令将失败,并显示“无效选项”错误。使用标准的shell --伪参数来禁用否定参数之前的参数解析。例如pactl set-sink-volume 1 -- -5%
Jamie Cockburn

2
@JamieCockburn-我不确定是什么时候写的,但是我使用archlinux,绝对不需要--带有负值(百分数,db,整数……它们都可以正常工作)的其他函数。实际上,情况恰恰相反:如果我--按照wiki的要求使用,例如pactl set-sink-volume 1 -- -3% get Invalid volume specification
don_crissti 2015年

那一定要依赖shell吗?我在使用Xfce的ubuntu 14.04上,并从bash(4.3.11)运行命令。如果我省略--,则会得到一个无效的选项。
Jamie Cockburn

1
@JamieCockburn -我不认为shell是相关的(根据记录,它工作正常,我既bashzsh)。的较早版本可能pactl存在此问题,并且上游很可能已解决了该问题(我使用的是6.0版)。
don_crissti

1
@JamieCockburn我正在运行ubuntu 16.04 xfce bash,它的工作原理很完美,没有“-”,仅需注意。
Reishin '16

9

我知道这是一个古老的。由于Alsa和PulseAudio如此连接,askubuntu的以下回答帮助我管理了主声音和HDMI的音量:

增加音量

amixer -q -D pulse sset Master 10%+

减少音量

amixer -q -D pulse sset Master 10%-

切换静音

amixer -q -D pulse sset Master toggle

其他混合器sset命令也可以使用。



6

在OS X中,使用以下命令:

# highest
osascript -e "set Volume 7"
# lowest
osascript -e "set Volume 1"
# middle
osascript -e "set Volume 3.5"  

您甚至可以将音量设置为其他分数级别:

# 25%
osascript -e "set Volume 1.75"

值得一提的是,您还可以使用Mac的音量按钮以小数增量更改音量
通配符

@Wildcard Mac音量按钮仅以0.25
1''的

4

您也可以尝试pamixer,它可以完全满足您的需求。它在ArchLinux AUR存储库中具有相同的名称。


现在甚至在社区存储库中
Michal Polovka '18
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.