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


Ответы:


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.