The new laptop I just bought had the bad habit of using the pc speaker at a loud level. It was deranging the coleagues at work when autocompletion yelded more than one result or none (it also scared me a few times during the last nights when I was configuring and testing the laptop).
So I unloaded the module (pcspkr) by hand and wanted to make the system not load it anymore.
So I thought that blacklisting it would do the trick. Probably some people know already that adding al line like:
blacklist pcspkr
in /etc/modprobe.d/blacklist doesn't work. The rest of you find out now. I found out at the next reboot, when I heard again the beep.
Ok, I googled a bit and found some info about restricting ipv6 modules being loaded so I though I could do the same for pcspkr. So I tried:
to change the line from /etc/modprobe.d/pnp-hotplug:
alias pnp:dPNP0800 pcspkr
into
alias pnp:dPNP0800 off
That didn't work either.
So, at this point I googled more and found some outdated information about update-modules.
That brought me to modprobe.conf(5) which pointed to the "right" solution.Write the following in some file in /etc/modprobe.d/ (I added it in blacklist, since it seemed the right place)
install pcspkr true
Which seems to do what I want.
Still something tells me that either:
1) there is a cleaner solution I am not thinking about
or
2) I could have told udev not to load the module... And I feel this solution should have to do something with these lines and "ACTION":
eddy@bounty /etc/udev $ grep -r pcspkr *
persistent-input.rules:DRIVERS=="pcspkr", ENV{ID_CLASS}="spkr"
rules.d/z20_persistent-input.rules:DRIVERS=="pcspkr", ENV{ID_CLASS}="spkr"
A clean solution would be appreciated.
15 comments:
If the beep is bothering you during autocompletion put this in your .inputrc file
set bell-style none
it doesn't disable the pcspeaker but it keeps mine quiet 90% of the time
Is there are reason why in 2007 the annoying beep is still enabled. I am not asking for removing the feature, it is just disabling it by default. I wonder how many people do really enjoy the beep.
Also, everybody has its own trick to disable it, most of them work half of the time.
Is there no bug for this in Debian?
If the beep is bothering you during autocompletion
No, is bothering me all the time, GDM, gnome-terminal, whereever it appears is annoying.
try /etc/hotplug/blacklist.d/
add any file there including your unwanted modules.
it really works in etch, though you might think this directory may be obsolete, as i thought...
Hi, sometime ago i disabled pcspkr by blacklisting it in /etc/modprobe.d with the blacklist command and then running update-initramfs. But since a recent update this doesn not work anymore but i don't know why.
someone mentioned it on the plaet recently:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=405523
Here's a hardware solution: get the cheapest pair of headphones you can find (usually free), cut off all but the plug, and put it in the headphone jack.
My question is: why aren't alias, blacklist and install ALWAYS observed?
We can have: alias ipv6 off, or blacklist ipv6, or install ipv6 /bin/true.
Why aren't the following EQUIVALENT?! alias pcspkr off, or blacklist pcspkr , or install pcspkr /bin/true.
Gee. I'm too old for this $h1t. Rants.
deleting pcspkr.ko "works" :-)
deleting pcspkr.ko "works" :-)
Yes, I was thinking to dpkg-divert the module so is named otherwise. The problem is that the pcspkr.ko file will be part of a different package with every linux-image -2.6.x-y package and I have to redo this operation for every kernel version bump. Same goes for deleting.
Also, the dpkg-divert method has the advantage of being kept over new releases of the same linux-image-2.6.x-y. The delete method needs to be hammered at every upgrade.
OTOH, I am not sure if dpkg-divert is fit for this kind of use.
Thanks for the nice post!
Remove beep = Applications > Debian > Apps > System > Gnome > Gnome Control Centre > Sound > System beep tab
easy way, unplug pcspeaker from mobo
Had to fight with the same issue in a larger office, and the way I came up with was to simply do
rmmod pcspkr
in /etc/rc.local .
I do have snd-pcsp on 2.6.26.2 (which would be able to disable beep via mixer), however it seems pcspkr takes precedence on boot, via direct in-kernel pnp probing.
IMHO things should be done similar to this on a kernel level:
- a hardware which has a driver available should have it loaded, always
(after all applications / services which do need emergency access to speaker _should_ be able to enable it and access it without having to resort to crude I/O hacks)
- there should be some kind of "disable beep" module option for _both_ pcspkr and snd-pcsp (equally-named!), for clean, easy disabling of beep on boot
(or in fact perhaps do it the other way around, default-disable and provide enable option)
- pcspkr should get a sys or proc file for changing beep configuration dynamically (for those users or services which need to enable it for emergency situations etc.)
- maybe even add a separate special ioctl to those drivers to do beeping _despite_ it being user-disabled (for emergency purposes)
Andreas Mohr
Thank you for this solution!
This beep was driving me crazy, but "install pcspkr true" in /etc/modprobe.d/anything solved it.
Post a Comment