如何从命令行静音?


Answers:


71

假设您正在使用ALSA驱动程序,请运行:

amixer set Master mute   
amixer set Master unmute

或者,您可以使用:

amixer set Master toggle

开启和关闭静音。


6
对我/我的系统(精确)而言,这只有一种方式:关闭/静音。切换和取消静音都不会重新打开音乐。有什么想法吗?
关于natty的细节2012年


1
该解决方案适用于纯Alsa。对于使用Pulseaudio的Alsa,请使用Tim的answer中的命令。或者不要触摸命令,而是按照此答案配置Alsa 。否则,@nutty关于natty无法取消静音的问题。
tanius '16

在Ubuntu Server 14.04上,“ Master”无法作为简单控件使用。我用“扬声器”代替了它。我通过运行sudo amixer并在输出中找到匹配的行来找到替代项Simple mixer control 'Speaker',0
brycemcd

48

当其他人不这样做时,这对我有用:

amixer -q -D pulse sset Master toggle

这是从有关natty的评论的坚果链接到第一个答案的链接:

我的代词是他/他


1
我也刚刚检查过,它也适用于14.04。
蒂姆(Tim)

1
做到了:)-这里的kubuntu(Ubuntu 14.04.2 LTS)。谢谢。
hakre

1
-D pulse当Alsa与pulseaudio一起使用时,此选项是必需的(并且由于该问题被标记为pulseaudio,因此应为可接受的答案)。有关此解决方案的更多详细信息,请参见askubuntu的此处此处
tanius '16

注意:插入耳机或耳机时,@ goric接受的答案无效,请使用此选项。
UniversallyUniqueID

或者,可以使用amixer -q -D pulse sset Master mute和来 代替“ toggle”(删除),而不是模糊不清amixer -q -D pulse sset Master unmute。在Ubuntu 16.04
CPBL

23

在我的设置中,有时出于某种原因,混音器取消静音会失败。因此,我在脚本中使用了pactl

静音:

pactl set-sink-mute 0 1

并取消静音:

pactl set-sink-mute 0 0

在Ubuntu 12.10上测试。


仍可在Ubuntu 15.10中使用。
tanius '16

很可能,这是在现代Ubuntu版本上执行操作的正确方法。适用于16.04(不支持axer)。
Marcus

16

在终端上键入此静音

amixer set Master mute

类型

amixer set Master unmute

在我的Ubuntu 10.10上测试。

PS:+1是一个有趣的问题。


1

如果您正在使用,请alsa遵循goric答案。

PulseAudio更好,但不是那么简单:pactl set-sink-mute 0 1对第一个设备进行工作,但是如果您正在使用另一个接收器输出的耳机,则不行。

更好的方法是进行检查pactl info并获得Default Sink使用。

DEFAULT_SINK=$(pactl info | grep "Default Sink" | cut -d " " -f3)

然后静音:

pactl set-sink-mute "$DEFAULT_SINK" "1"

或取消静音:

pactl set-sink-mute "$DEFAULT_SINK" "0"

我在笔记中写了一个脚本来管理Pulseaudio。如果要使用,请将其另存为volume,提供执行权限chmod +x volume并将其添加到path中ln -sv $PWD/volume /usr/local/bin/。这是我的脚本:

#!/bin/bash
# script name: volume
# Author: glaudistong at gmail.com
# depends on: yad, coreutils, pulseaudio

ps -ef | grep "yad" | grep -E "Volume [^+\-]" | tr -s " " | cut -d " " -f2 | xargs -i kill "{}" 2>/dev/null
DEFAULT_SINK=$(pactl info | grep "Default Sink" | cut -d " " -f3)
DEFAULT_SOURCE=$(pactl info | grep "Default Source" | cut -d " " -f3)
case "$1" in 
    init)
    {
        ps -fe | grep yad | grep -q volume ||
        {
         yad --notification --command "volume up" --text "+ Volume +" --image ~/Pictures/volume-up-dark.png &
         yad --notification --command "volume down" --text "- Volume -" --image ~/Pictures/volume-down-dark.png &
        }
    };;
    up)
    {
        pactl set-sink-volume "$DEFAULT_SINK" +5%
        P=$(pactl list | grep -E "Name: $DEFAULT_SINK$|Volume" | grep "Name:" -A1 | tail -1 | cut -d% -f1 | cut -d/ -f2 | tr -d " ")
        iconl="$(echo -ne "\U1F50A")"
        iconr="$(echo -ne "\U1F56A")"
        timeout .6 yad --progress --percentage "$P" --timeout 1 --no-buttons --undecorated --text="$iconl Volume $P% $iconr" --no-focus --center --skip-taskbar --on-top &
    };;
    down)
    {
        pactl set-sink-volume "$DEFAULT_SINK" -5%
        P=$(pactl list | grep -E "Name: $DEFAULT_SINK$|Volume" | grep "Name:" -A1 | tail -1 | cut -d% -f1 | cut -d/ -f2 | tr -d " ")
        iconl="$(echo -ne "\U1F509")"
        iconr="$(echo -ne "\U1F569")"
        timeout .6 yad --progress --percentage "$P" --timeout 1 --no-buttons --undecorated --text="$iconl Volume $P% $iconr" --no-focus --center --skip-taskbar --on-top &
    };;
    mute)
    {
        ismute=$(pactl list | grep -E "Name: $DEFAULT_SINK$|Mute" | grep "Name:" -A1 | tail -1 |cut -d: -f2| tr -d " ")
        if [ "$ismute" == no ]; then
            s=1
            P=0
            icon="$(echo -ne "\U1F507")"
        else
            P=$(pactl list | grep -E "Name: $DEFAULT_SINK$|Volume" | grep "Name:" -A1 | tail -1 | cut -d% -f1 | cut -d/ -f2 | tr -d " ")
            icon="🔊"
            s=0
        fi
        pactl set-sink-mute "$DEFAULT_SINK" "$s"
        echo $s > /sys/devices/platform/thinkpad_acpi/leds/platform::mute/brightness
        timeout .6 yad --progress --percentage "$P" --timeout 1 --no-buttons --undecorated --text="$icon Volume $P%" --no-focus --center --skip-taskbar --on-top &
    };;
    mic-up)
    {
        pactl set-source-volume "$DEFAULT_SOURCE" +5%
        P=$(pactl list | grep -E "Name: $DEFAULT_SOURCE$|Volume" | grep "Name:" -A1 | tail -1 | cut -d% -f1 | cut -d/ -f2 | tr -d " ")
        icon="$(echo -en "\U1F3A4")"
        timeout .6 yad --progress --percentage "$P" --timeout 1 --no-buttons --undecorated --text="$icon Volume Mic $P%" --no-focus --center --skip-taskbar --on-top &
    };;
    mic-down)
    {
        pactl set-source-volume "$DEFAULT_SOURCE" -5%
        icon="$(echo -en "\U1F3A4")"
        P=$(pactl list | grep -E "Name: $DEFAULT_SOURCE$|Volume" | grep "Name:" -A1 | tail -1 | cut -d% -f1 | cut -d/ -f2 | tr -d " ")
        timeout .6 yad --progress --percentage "$P" --timeout 1 --no-buttons --undecorated --text="$icon Volume Mic $P%" --no-focus --center --skip-taskbar --on-top &
    };;
    mic-mute)
    {
        ismute=$(pactl list | grep -E "Name: $DEFAULT_SOURCE$|Mute" | grep "Name:" -A1 | tail -1 |cut -d: -f2| tr -d " ")
        if [ "$ismute" == no ]; then
            s=1
            P=0
            icon="$(echo -en "\U1F507\U1F3A4")"
        else
            P=$(pactl list | grep -E "Name: $DEFAULT_SOURCE$|Volume" | grep "Name:" -A1 | tail -1 | cut -d% -f1 | cut -d/ -f2 | tr -d " ")
            s=0
            icon="$(echo -en "\U1F3A4")"
        fi
        pactl set-source-mute "$DEFAULT_SOURCE" "$s"
        echo $s > /sys/devices/platform/thinkpad_acpi/leds/platform::micmute/brightness
        timeout .6 yad --progress --percentage "$P" --timeout 1 --no-buttons --undecorated --text="$icon Volume Mic $P%" --no-focus --center --skip-taskbar --on-top &
    };;
    *)
        echo invalid option;;
esac;
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.