How to mute/unmute default sound output
What’s the generic way to mute/unmute my system’s default sound output?
$ amixer set Master mute amixer: Unable to find simple control 'Master',0 $ amixer scontrols Simple mixer control 'IEC958',0 Simple mixer control 'IEC958',1 Simple mixer control 'IEC958',2 Simple mixer control 'IEC958',3 Simple mixer control 'IEC958',4 Simple mixer control 'IEC958',5
I know the sound control had been moving away from amixer to Pulseaudio, however, I’m still able to use the ALSA "Master" control in my Debian 10, but not my Ubuntu 21.10, see above.
pactl set-sink-mute 0 1 from https://superuser.com/questions/805525/, but I tried it but that doesn’t work for my Ubuntu 21.10 above.
All in all, I just need a generic way to mute/unmute my system’s default sound output that is good across all my machines and all my Linuxes, just like the ALSA "Master" control.
pactl set-sink-mute `pactl get-default-sink` 1
to unmute :
pactl set-sink-mute `pactl get-default-sink` 0
I’ve been using this command for ages now:
pactl set-sink-mute @DEFAULT_SINK@ toggle
This mutes/unmutes depending on the current state.
Also to increase volume:
pactl set-sink-volume @DEFAULT_SINK@ +3%
or decrease volume:
pactl set-sink-volume @DEFAULT_SINK@ -3%
With the toggle option, it mutes everything. However, toggle Master does not unmute everything.
So, if we toggle Master, and always unmute the sub-channels, then Master will toggle, and the (sub-) channels will always unmute.
So I made a 3 line script ::
will@will:~$ cat toggle amixer -c 1 set Master toggle amixer -c 1 set Headphone unmute amixer -c 1 set Speaker unmute