Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I need to mute/unmute from the command line. I found out that I can do it with:

amixer sset Master mute
amixer sset Master unmute

the problem is that the command for unmute is not working (as described also in this bug report: https://bugs.launchpad.net/ubuntu/+source/alsa-utils/+bug/878986)

My question is: is there another way to obtain the same result, taken that amixer is not working?

Furthermore, if I set manually the volume to minimum and then call

amixer sset Master 100%

the volume increases but doesn't switch to maximum, even if the stdout tells:

Simple mixer control 'Master',0
Capabilities: pvolume pswitch pswitch-joined penum
Playback channels: Front Left - Front Right
Limits: Playback 0 - 31
Mono:
Front Left: Playback 31 [100%] [0.00dB] [on]
Front Right: Playback 31 [100%] [0.00dB] [on]

Can anybody help me with this?

share|improve this question
    
It seems to be working perfectly for me. I don't user 'Master', however. Have you tried setting different controls? Does it work if you use Front vs Master? Open alsamixer to view which options you have. –  earthmeLon Nov 9 '11 at 17:16
    
I tried also with 'Speaker' and 'Headphone' but same result, I also tried on other pc and laptop and still the same result: mute works, unmute doesn't –  giuspen Nov 10 '11 at 20:52
    
Can you try amixer -c 0 set Master playback 100% unmute in a terminal and see if it works. –  Mark Rooney Mar 2 '12 at 9:47
    
It works only if I did not mute from the command line but from the gui (11.10). If I mute from the command line then I cannot unmute. –  giuspen Mar 3 '12 at 11:53
    
if I do "amixer -c 0 set Master playback 0% mute" and "amixer -c 0 set Master playback 100% unmute" it works!!! Thanks!!! –  giuspen Mar 3 '12 at 11:57
show 1 more comment

4 Answers

up vote 1 down vote accepted

Try the following commands in a terminal

amixer -c 0 set Master playback 0% mute
amixer -c 0 set Master playback 100% unmute

This should ensure all outputs are controlled. It's likely with your posted commands the reason the volume is not 100% is that the amixer does not release all outputs eg headphones or any other sound outputs at the same time.

share|improve this answer
add comment

Even better is this one, unmute all audio devices. and set volume to 70%

for x in `amixer controls  | grep layback` ; do amixer cset "${x}" on ; done


for x in `amixer controls  | grep layback` ; do amixer cset "${x}" 70% ; done

in the example above the HDMI and optical isn't unmutted..

share|improve this answer
    
Thanks. The commands in other answers, such as 'amixer -c 0 set Master playback 100% unmute' or 'amixer set Master unmute' did not work for me (even if I mute via 'amixer set Master mute'). –  djb Apr 2 at 16:03
add comment

Mark Rooney's solution did not work for me, but I was able to work around this by explicitly unmuting all of the channels.

#!/bin/bash

for i in Master Headphone PCM Front Surround Center LFE Side; do
    amixer -c 0 set "$i" playback unmute
done &>/dev/null

I got the channel names but running alsamixer.

share|improve this answer
add comment

The commands you are using doesn't work for me either, but try these. They work for me.

amixer set Master 0
amixer set Master 100
share|improve this answer
    
with your commands the volume is lowered/raised but not to minimum/maximum as I would need –  giuspen Nov 10 '11 at 8:54
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.