Jak wyciszyć z linii poleceń?

Odpowiedzi:

71

Zakładając, że używasz sterownika ALSA, uruchom:

amixer set Master mute   
amixer set Master unmute

Lub możesz po prostu użyć:

amixer set Master toggle

włączać i wyłączać wyciszenie.

goric
źródło
6
w przypadku mnie / mojego systemu (precyzyjnie) działa to tylko w jedną stronę: wyłącz / wycisz. Nie włączaj ani nie wyciszaj, aby ponownie włączyć muzykę. Wszelkie pomysły, dlaczego?
orzechowy o natty
2
patrz askubuntu.com/questions/77522/…
orzechowe o natty
1
To rozwiązanie jest dla czystego Alsa. W przypadku Alsa z pulseaudio użyj polecenia z odpowiedzi Tima . Lub nie dotykaj polecenia i zamiast tego skonfiguruj Alsa jak w tej odpowiedzi . W przeciwnym razie @nutty o problemie natty z niemożnością wyciszenia wyników.
tanius
na Ubuntu Server 14.04 „Master” nie był dostępny jako prosta kontrola. Zamiast niego użyłem „Speaker”. Znalazłem podstawienie, uruchamiając sudo amixeri znajdując wiersz w dopasowanym wyjściuSimple mixer control 'Speaker',0
brycemcd
48

To działało dla mnie, gdy inni nie:

amixer -q -D pulse sset Master toggle

To jest z linka w orzechowym komentarzu Natty do pierwszej odpowiedzi:

Moje zaimki to On / On

Tim
źródło
1
Właśnie sprawdziłem, działa również 14.04.
Tim
1
zrobiłem to :) - kubuntu tutaj (Ubuntu 14.04.2 LTS). dzięki.
hakre
1
Ta -D pulseopcja jest potrzebna, gdy Alsa jest używana z pulseaudio (a ponieważ pytanie jest oznaczone pulseaudio, powinna to być zaakceptowana odpowiedź). Aby uzyskać więcej informacji na temat tego rozwiązania, zobacz tutaj i tutaj na askubuntu.
tanius
Uwaga: Akceptowana odpowiedź @goric nie działa, gdy słuchawki lub słuchawki są podłączone, użyj tego.
UniversallyUniqueID
Lub, mniej niejednoznacznie niż „przełączanie”, możesz użyć amixer -q -D pulse sset Master mutei amixer -q -D pulse sset Master unmute. Działa świetnie na Ubuntu 16.04
CPBL
23

W mojej konfiguracji czasami amixer unmute z jakiegoś powodu kończy się niepowodzeniem. Dlatego używam pactl w moich skryptach:

wyciszyć:

pactl set-sink-mute 0 1

i wyłącz wyciszenie:

pactl set-sink-mute 0 0

Testowane na Ubuntu 12.10.

Niko Riitala
źródło
Nadal działa w systemie Ubuntu 15.10.
tanius
Na szczęście jest to właściwy sposób wykonywania operacji na nowoczesnych wersjach Ubuntu. Działa na 16.04 (amixer nie działa).
Marcus
16

W terminalu wpisz to, aby wyciszyć

amixer set Master mute

rodzaj

amixer set Master unmute

Testowane na moim Ubuntu 10.10.

PS: +1 za interesujące pytanie.

theTuxRacer
źródło
1

Jeśli korzystasz, alsaskorzystaj z odpowiedzi goric.

PulseAudio jest lepsze, ale nie takie proste: pactl set-sink-mute 0 1wykonaj pracę dla pierwszego urządzenia, ale nie, jeśli używasz słuchawek o innym wyjściu zlewu.

Lepszym sposobem jest sprawdzenie pactl infoi Default Sinkużycie.

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

Następnie, aby wyciszyć:

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

Lub wyłącz wyciszenie:

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

W notatce napisałem skrypt do zarządzania pulseaudio. Jeśli chcesz użyć, zapisz go jako volume, podaj uprawnienia do wykonywania chmod +x volumei dodaj do swojej ścieżki ln -sv $PWD/volume /usr/local/bin/. Oto mój skrypt:

#!/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;
tona
źródło