I've found two work-arounds. Let me know if either works for you.
Workaround #1
Whatever is trapping system bell events tries to play the file /usr/share/sounds/ubuntu/stereo/bell.ogg. If I rename this file, it falls back to the using the system bell. So long as the PC speaker is enabled (`sudo modprobe pcspkr` and `xset b on`), it now beeps when I expect it.
Workaround #2
xkbevd is a daemon that can execute specific commands on given X events. If I create the file ~/.xkb/xkbevd.cf with the contents 'Bell() shell "beep"' and run `xkbevd`, beep will be executed (making a beep) every time there's a system bell event. With this, I get both the PC speaker beep and the bell.ogg sound. But if I didn't have my speakers connected, this wouldn't matter.
I've found two work-arounds. Let me know if either works for you.
Workaround #1 sounds/ ubuntu/ stereo/ bell.ogg. If I rename this file, it falls back to the using the system bell. So long as the PC speaker is enabled (`sudo modprobe pcspkr` and `xset b on`), it now beeps when I expect it.
Whatever is trapping system bell events tries to play the file /usr/share/
Workaround #2
xkbevd is a daemon that can execute specific commands on given X events. If I create the file ~/.xkb/xkbevd.cf with the contents 'Bell() shell "beep"' and run `xkbevd`, beep will be executed (making a beep) every time there's a system bell event. With this, I get both the PC speaker beep and the bell.ogg sound. But if I didn't have my speakers connected, this wouldn't matter.