Как вы отключите звук из командной строки?


Ответы:


71

Предполагая, что вы используете драйвер ALSA, запустите:

amixer set Master mute   
amixer set Master unmute

Или вы можете просто использовать:

amixer set Master toggle

включать и выключать звук.


6
для меня / моей системы (точно), это идет только в одну сторону: выключено / отключено. Ни переключение, ни включение звука не возвращают музыку обратно. Есть идеи, почему?
сумасшедший о Natty


1
Это решение для чистой Алсы. Для Alsa с pulseaudio используйте команду из ответа Тима . Или не трогайте команду и вместо этого настройте Alsa, как в этом ответе . Иначе @nutty о проблеме natty в том, что она не может включить результаты.
Tanius

на Ubuntu Server 14.04 «Мастер» не был доступен в качестве простого элемента управления. Я использовал «Динамик» на своем месте. Я нашел замену, запустив sudo amixerи найдя строку в выводе, которая соответствовалаSimple mixer control 'Speaker',0
brycemcd

48

Это сработало для меня, когда другие не сделали:

amixer -q -D pulse sset Master toggle

Это из ссылки в Nutty о комментарии Натти к первому ответу:

Мои местоимения Он / Он


1
Я тоже только что проверил, на 14.04 тоже работает.
Тим

1
сделал это :) - kubuntu здесь (Ubuntu 14.04.2 LTS). Спасибо.
Хакре

1
Эта -D pulseопция необходима, когда Alsa используется с pulseaudio (и поскольку вопрос помечен pulseaudio, это должен быть принятый ответ). Для получения более подробной информации об этом решении, смотрите здесь и здесь на askubuntu.
Tanius

Примечание. Принятый ответ @goric не работает, когда подключены наушники или наушники. Используйте это.
UniversallyUniqueID

Или, менее двусмысленно, чем «переключатель», вы можете использовать amixer -q -D pulse sset Master muteи amixer -q -D pulse sset Master unmute. Отлично работает на Ubuntu 16.04
CPBL

23

В моей настройке иногда amixer unmute по какой-то причине дает сбой. Поэтому я использую pactl в своих скриптах:

отключить звук:

pactl set-sink-mute 0 1

и включить звук:

pactl set-sink-mute 0 0

Протестировано на Ubuntu 12.10.


Все еще работает в Ubuntu 15.10.
Танус

Точно так же, это правильный способ выполнить операцию на современных версиях Ubuntu. Работает 16.04 (amixer нет).
Маркус

16

На терминале наберите это, чтобы отключить звук

amixer set Master mute

тип

amixer set Master unmute

Проверено на моем Ubuntu 10.10.

PS: +1 за интересный вопрос.


1

Если вы используете alsaследующий горический ответ.

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и добавьте его к своему пути 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;
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.