104 votes

Comment faire pour couper le son à partir de la ligne de commande ?

Comment désactiver le système audio depuis la ligne de commande ?

85voto

Phill Pafford Points 245

En supposant que vous utilisez le pilote ALSA, exécutez :

amixer set Master mute   
amixer set Master unmute

Ou, vous pouvez simplement utiliser :

amixer set Master toggle

pour activer et désactiver la sourdine.

60voto

Tim Points 30349

Cela a fonctionné pour moi quand d'autres n'ont pas fonctionné :

amixer -q -D pulse sset Master toggle

Ceci vient du lien dans commentaire de Nutty about Natty à la première réponse :

35voto

Dolbz Points 1575

Je utilise pactl dans mes scripts. Depuis la page de manuel :

set-sink-mute SINK 1|0|toggle: Définir le statut de sourdine du sink spécifié (identifié par son nom symbolique ou son indice numérique)

Pour mettre en sourdine :

pactl set-sink-mute @DEFAULT_SINK@ true

Pour annuler la sourdine :

pactl set-sink-mute @DEFAULT_SINK@ false

Pour basculer :

pactl set-sink-mute @DEFAULT_SINK@ toggle

Utilisez 0 à la place de @DEFAULT_SINK@ pour définir le sink avec l'indice numérique 0. true=="1", false=="0".

Testé sur Ubuntu 12.10.
Dans ma configuration, parfois la désactivation de la sourdine d'amixer échoue pour une raison quelconque.

17voto

Don Wakefield Points 4684

Sur le terminal, entrez ceci pour mettre en sourdine

amixer set Master mute

tapez

amixer set Master unmute

Testé sur mon Ubuntu 10.10.

8voto

ton Points 181

Si vous utilisez alsa suivez la réponse de goric.

PulseAudio est meilleur, mais pas si simple: pactl set-sink-mute 0 1 Fait le travail pour le premier périphérique, mais pas si vous utilisez des écouteurs d'une autre sortie de sink.

La meilleure façon est de vérifier avec pactl info et obtenir le Sink par défaut à utiliser.

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

Ensuite, pour couper le son:

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

Ou activer le son:

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

J'ai écrit un script pour gérer pulseaudio dans ma note. Si vous voulez l'utiliser, enregistrez-le sous le nom de volume, donnez les permissions d'exécution chmod +x volume et ajoutez-le à votre chemin d'accès ln -sv $PWD/volume /usr/local/bin/. Voici mon script:

#!/bin/bash
# nom du script: volume
# Auteur: glaudistong at gmail.com
# dépend de: 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 option invalide;;
esac;

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X