¿Cómo silenciar desde la línea de comando?

Respuestas:

71

Suponiendo que está utilizando el controlador ALSA, ejecute:

amixer set Master mute   
amixer set Master unmute

O simplemente puedes usar:

amixer set Master toggle

para activar y desactivar el silencio.

goric
fuente
66
para mí / mi sistema (preciso), esto solo va en una dirección: apagado / silencio. Ni alternar ni dejar de silenciar la música. ¿¿Alguna idea de por qué??
loco por natty
1
Esta solución es para Alsa pura. Para Alsa con pulseaudio, use el comando de la respuesta de Tim . O no toque el comando y en su lugar configure Alsa como en esta respuesta . De lo contrario, @nutty sobre el problema de natty de no poder activar los resultados.
tanius
en Ubuntu Server 14.04 "Master" no estaba disponible como un control simple. Usé "Speaker" en su lugar. Encontré la sustitución al ejecutar sudo amixery encontrar la línea en la salida que coincidíaSimple mixer control 'Speaker',0
brycemcd
48

Esto funcionó para mí cuando otros no:

amixer -q -D pulse sset Master toggle

Esto es del enlace en nutty sobre el comentario de natty a la primera respuesta:

Mis pronombres son El / El

Tim
fuente
1
También acabo de comprobar, también funciona en 14.04.
Tim
1
lo hice :) - kubuntu aquí (Ubuntu 14.04.2 LTS). gracias.
hakre
1
Esta -D pulseopción es necesaria cuando Alsa se usa con pulseaudio (y dado que la pregunta está etiquetada pulseaudio, esta debería ser la respuesta aceptada). Para obtener más detalles sobre esta solución, consulte aquí y aquí en askubuntu.
tanius
Nota: La respuesta aceptada por @goric no funciona cuando los auriculares o auriculares están enchufados, use esto.
UniversallyUniqueID
O, de manera menos ambigua que "alternar", puede usar amixer -q -D pulse sset Master mutey amixer -q -D pulse sset Master unmute. Funciona muy bien en Ubuntu 16.04
CPBL
23

En mi configuración, a veces, el desbloqueo amixer falla por alguna razón. Por lo tanto, estoy usando pactl en mis scripts:

Silenciar:

pactl set-sink-mute 0 1

y no silenciar:

pactl set-sink-mute 0 0

Probado en Ubuntu 12.10.

Niko Riitala
fuente
Todavía funciona en Ubuntu 15.10.
tanius
Probablemente, esta es la forma correcta de realizar la operación en versiones modernas de Ubuntu. Funciona en 16.04 (amixer no).
Marcus
16

En el terminal, escriba esto para silenciar

amixer set Master mute

tipo

amixer set Master unmute

Probado en mi Ubuntu 10.10.

PD: +1 por pregunta interesante.

theTuxRacer
fuente
1

Si está utilizando alsasiga la respuesta de Goric.

PulseAudio es mejor, pero no tan simple: pactl set-sink-mute 0 1haga el trabajo para el primer dispositivo, pero no si está usando auriculares de otra salida de sumidero.

La mejor manera es consultar pactl infoy obtener el Default Sinkuso.

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

Luego para silenciar:

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

O no silenciar:

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

Escribí un script para administrar pulseaudio en mi nota. Si desea usarlo, guárdelo como volume, proporcione permisos de ejecución chmod +x volumey agréguelo a su ruta ln -sv $PWD/volume /usr/local/bin/. Aquí mi guión:

#!/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;
tonelada
fuente