Beep in Shell Script Not Working?
I'd Like to Use a Beep Sound in a Shell Script. Unfortunately None of the Methods I Found via Google Work for Me. I Tried Echo -E '\A' Echo -Ne '\007' and the...
I'd like to use a beep sound in a shell script. Unfortunately none of the methods I found via Google work for me.
I tried
echo -e '\a'
echo -ne '\007'
and the command beep after I installed it via apt.
What could be the reason?
16 Answers
Not being a fan of the pcspkr beep, I use a beep from one of the system sounds with the installed pulseaudio server's paplay command.
First find a sound you like (you can browse /usr/share/sounds for some available ones for example) and create a reference to it
export BEEP=/usr/share/sounds/ubuntu/ringtones/Harmonics.ogg
Then have it available as a command
alias beep='paplay $BEEP'
Now just run beep whenever you need it. For example, to alert you when a command is finished:
find . | grep treasure ; beep
First run sudo modprobe pcspkr and then beep should work.
The reason this doesn't is because by default Ubuntu no longer loads the hardware driver that produce beeps.
If this works for you then to enable the loading of pcspkr permanently edit the /etc/modprobe.d/blacklist.conf file (using gksudo gedit perhaps) and comment out line that says blacklist pcspkr so it looks like this:
# ugly and loud noise, getting on everyone's nerves; this should be done by a # nice pulseaudio bing (Ubuntu: #77010) # blacklist pcspkr
Since this is a very high rated question on google, I'll add the steps I did to re-enable beep in both console and X11:
For the Linux Console (CTRL+ALT+F1...F6):
Why it does not work by default
As already answered, the pcspkr kernel driver for the PC Speaker is blacklisted in Ubuntu.
Temporarily enable until reboot:
sudo modprobe pcspkr
Automatically enable on boot:
sudo nano /etc/modprobe.d/blacklist.conf
(delete or comment pcspkr line by prepending it with #)