Como você silencia a partir da linha de comando?

84

Como você silencia o sistema de som na linha de comando?

myusuf3
fonte

Respostas:

71

Supondo que você esteja usando o driver ALSA, execute:

amixer set Master mute   
amixer set Master unmute

Ou você pode apenas usar:

amixer set Master toggle

para ativar e desativar o mudo.

goric
fonte
6
para mim / meu sistema (preciso), isso só funciona de uma maneira: desligado / mudo. Nem alternar nem ativar som ativam a música. Alguma ideia do por que??
Noz sobre natty
2
veja askubuntu.com/questions/77522/…
nutty about natty
11
Esta solução é para Alsa pura. Para Alsa com pulseaudio, use o comando da resposta de Tim . Ou não toque no comando e configure o Alsa como nesta resposta . Senão, @nutty sobre o problema de natty de não conseguir mudar os resultados.
tanius
no Ubuntu Server 14.04 "Master" não estava disponível como um controle simples. Eu usei "Speaker" em seu lugar. Eu encontrei a substituição através da execução sudo amixere encontrar a linha na saída que combinavaSimple mixer control 'Speaker',0
brycemcd
48

Isso funcionou para mim quando outros não:

amixer -q -D pulse sset Master toggle

Isto é do link no nutty sobre o comentário de natty para a primeira resposta:

Meus pronomes são He / Him

Tim
fonte
11
Eu também verifiquei, ele funciona em 14.04 também.
Tim
11
fiz isso :) - kubuntu aqui (Ubuntu 14.04.2 LTS). valeu.
hakre
11
Essa -D pulseopção é necessária quando o Alsa é usado com o pulseaudio (e como a pergunta está marcada como pulseaudio, essa deve ser a resposta aceita). Para mais detalhes sobre esta solução, veja aqui e aqui no askubuntu.
tanius
Nota: A resposta aceita por @goric não funciona quando fones de ouvido estão conectados, use-o.
UniversallyUniqueID
Ou, menos ambiguamente do que "alternar", você pode usar amixer -q -D pulse sset Master mutee amixer -q -D pulse sset Master unmute. Funciona muito bem no Ubuntu 16.04
CPBL
23

Na minha configuração, por vezes, o amixer unmute falha por algum motivo. Portanto, eu estou usando pactl nos meus scripts:

silenciar:

pactl set-sink-mute 0 1

e sem som:

pactl set-sink-mute 0 0

Testado no Ubuntu 12.10.

Niko Riitala
fonte
Ainda funciona no Ubuntu 15.10.
tanius
Provavelmente, esta é a maneira correta de executar a operação nas versões modernas do Ubuntu. Funciona em 16.04 (o amixer não).
Marcus
16

No terminal, digite para silenciar

amixer set Master mute

tipo

amixer set Master unmute

Testado no meu Ubuntu 10.10.

PS: +1 para uma pergunta interessante.

theTuxRacer
fonte
1

Se você estiver usando, alsasiga a resposta goric.

O PulseAudio é melhor, mas não tão simples: pactl set-sink-mute 0 1faça o trabalho para o primeiro dispositivo, mas não se estiver usando fones de ouvido de outra saída de coletor.

A melhor maneira é verificar pactl infoe Default Sinkusar.

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

Em seguida, para silenciar:

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

Ou mudo:

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

Eu escrevi um script para gerenciar o pulseaudio na minha anotação. Se você deseja usar, salve-o como volume, forneça permissões de execução chmod +x volumee adicione-o ao seu caminho ln -sv $PWD/volume /usr/local/bin/. Aqui meu script:

#!/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
fonte