14

How do I disable the system beep on the console in FreeBSD 10.1?

The recommended commands don't work.

The sysctl setting:

# sysctl hw.syscons.bell=0 hw.syscons.bell: 1 -> 0 # sysctl -a | grep bell hw.syscons.bell: 0 

Backspace still results in an ear splitting beep.

Found another suggestion, to use kbdcontrol:

# kbdcontrol -b off # 

Nope, still beeps.

My system details:

An old Gateway MD-78 series laptop (with Intel GM45 Express Chipset), without a hardware volume knob, and decidedly loud PC speaker volume.

I'm running FreeBSD 10.1.

# uname -a FreeBSD raktop 10.1-RELEASE FreeBSD 10.1-RELEASE #0 r274401: Tue Nov 11 21:02:49 UTC 2014 [email protected]:/usr/obj/usr/src/sys/GENERIC amd64 

Update:

I'm running vt a.k.a. newcons, and eventually found that I could turn the beep off with:

kbdcontrol -b quiet.off 

which can be put into /etc/rc.conf, to make the change permanent, as:

allscreens_kbdflags="-b quiet.off" 

6 Answers 6

11

If you're running vt a.k.a. newcons, try:

kbdcontrol -b quiet.off 

If that works, you can make it permanent in your /etc/rc.conf:

allscreens_kbdflags="-b quiet.off" 

Background:

After running kbdcontrol from an Xterm and seeing it print out an escape sequence, I realized that it is trying to send a command in the form of an escape sequence to the terminal emulation in the console driver, and it might need to be sending something different because I'm not using the default console driver; then I looked for and found the answer specific to newcons: http://lists.freebsd.org/pipermail/freebsd-current/2014-April/049463.html

1
  • I'm not sure what's up with the keybell="NO" vs. keybell="off" as suggested in /etc/defaults/rc.conf, but in any case neither of those disabled the beep for me. Commented Aug 3, 2015 at 4:53
7

Use sysctl -a | grep bell to see which knobs you've got. vt is probably what is being used these days.

sudo sysctl kern.vt.enable_bell=0 works in my case.

1

Pulled from freebsd forum post:

You can disable bell if you set MIB hw.syscons.bell value to 0. Just type

sysctl hw.syscons.bell=0 

To save changes permanently after reboot your machine

# echo "hw.syscons.bell=0" >> /etc/sysctl.conf 

:)

1
  • 1
    As I said, I tried that and it didn't work. Commented Aug 3, 2015 at 22:11
1

The only thing which worked in FreeBSD 10.3 was:

kern.vt.enable_bell=0 
1
  • +1, this is the only think that worked on FreeBSD 11.0, contrary to the other answers here. Commented Oct 11, 2016 at 8:08
1

I've just "disabled" the system beep in a chinese mini PC using a very simple and effective method like the one shown here. Seriously :)

In fact, it was not a system beep, it was a BIOS beep and there was not any option to disable it there. But there is always some workaround. :) Now I enjoy absolute silence. :)

I just disassembled the buzzer and removed the vibrating membrana. This was the only way to force it get mute. There was no option in BIOS to turn off the self test sound, and it was very loud and annoying. After all, silence is more valuable than a 200-dollar PC.

3
  • Thanks for your comment @jasonwryan. The answer is: I just disassembled the buzzer and removed the vibrating membrana. This was the only way to force it get mute. There was no option in BIOS to turn off the self test sound, and it was very loud and annoying. After all, silence is more valuable than a 200-dollar PC. :) Commented Sep 28, 2017 at 5:48
  • I edited it into your answer, it is important (people reviewing your post votes mainly for the main content, not for the comments below it). Here is your first upvote, too. :-) Commented Sep 28, 2017 at 6:26
  • I suppose that's a good possibility to consider, as some people are just never going to use their built-in speakers much anyway. Commented Sep 29, 2017 at 23:40
0

This seems to be system dependent. I have FreeBSD installed on an external hard drive and can verify that on an Acer laptop it the sysctl hw.syscons.bell=0 worked, while on a Lenovo system I had to use kern.vt.enable_bell=0.

This is despite using vt on both devices.

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.