How do you mute the sound system from the command line?
6 Answers
Assuming you're using ALSA driver, run:
amixer set Master mute
amixer set Master unmute
Or, you can just use:
amixer set Master toggle
to toggle mute on and off.

- 54,385

- 3,816
This worked for me when others didn't:
amixer -q -D pulse sset Master toggle
This is from the link in nutty about natty's comment to the first answer:

- 15,657

- 32,861
- 27
- 118
- 178
-
1
-
1
-
3This
-D pulse
option is needed when Alsa is used with pulseaudio (and since the question is tagged pulseaudio, this should be the accepted answer). For more details about this solution, see here and here on askubuntu. – tanius Feb 17 '16 at 01:23 -
Note: The accepted answer by @goric doesn't work when headphones or earphones are plugged in, use this. – May 27 '16 at 12:34
-
1Or, less ambiguously than "toggle", you can use
amixer -q -D pulse sset Master mute
andamixer -q -D pulse sset Master unmute
. Works great on Ubuntu 16.04 – CPBL Jun 30 '16 at 13:00 -
-
this also worked for me to mute the bluetooth speaker, which was not affected by the default laptop button – Jul 23 '18 at 09:42
I'm using pactl
in my scripts. From man page:
set-sink-mute SINK 1|0|toggle
: Set the mute status of the specified sink (identified by its symbolic name or numerical index)
To mute:
pactl set-sink-mute @DEFAULT_SINK@ true
To unmute:
pactl set-sink-mute @DEFAULT_SINK@ false
To toggle:
pactl set-sink-mute @DEFAULT_SINK@ toggle
Use 0
instead of @DEFAULT_SINK@
to set the sink with numerical index 0. true=="1", false=="0".
Tested on Ubuntu 12.10.
In my setup sometimes amixer unmute fails for some reason.

- 15,657

- 641
- 5
- 3
-
1
-
LIkely, this is the proper way to perform the operation on modern Ubuntu versions. Works on 16.04 (amixer doesn't). – Marcus Feb 25 '17 at 19:42
-
2You can also toggle from mute to unmute and back:
pactl set-sink-mute 0 toggle
– Matthias Braun Nov 25 '19 at 11:12 -
1Sink 0 might not be the relevant one. For me, 0 was the monitor's output and 1 the laptop speakers, so I needed to do
pactl set-sink-mute 1 0
to unmute them. – nnnmmm Sep 28 '20 at 08:26 -
On the terminal type this to mute
amixer set Master mute
type
amixer set Master unmute
Tested on my Ubuntu 10.10.

- 15,657

- 16,185
If you are using alsa
follow goric answer.
PulseAudio is better, but not so simple: pactl set-sink-mute 0 1
Do the work for the first device, but not if you are using headphones of another sink output.
The better way is to check with pactl info
and get the Default Sink
to use.
DEFAULT_SINK=$(pactl info | grep "Default Sink" | cut -d " " -f3)
Then to mute:
pactl set-sink-mute "$DEFAULT_SINK" "1"
Or unmute:
pactl set-sink-mute "$DEFAULT_SINK" "0"
I wrote a script to manage pulseaudio in my note. If you want to use, save it as volume
, provide execute permissions chmod +x volume
and add it to your path ln -sv $PWD/volume /usr/local/bin/
. Here my 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;
-
2As a minor improvement, you can reference the default sink/source with a value of
@DEFAULT_SINK@
and@DEFAULT_SOURCE@
respectively, instead of grepping the output of a query. – ForeverZer0 Aug 18 '23 at 05:46
if your are using pulseaudio as the sound server then do this
pactl -- set-sink-mute @DEFAULT_SINK@ toggle # Also true/false to mute/unmute
to mute and unmute
if using alsa then use this
amixer sset 'Master' toggle
to mute and unmute

- 15,657

- 161
sudo amixer
and finding the line in the output that matchedSimple mixer control 'Speaker',0
– brycemcd Oct 02 '16 at 20:11