1

I do not want my systems to play sound, ever (POST beeps would be ok). Is there a way to do this in the system, preferrably something that could be set at boot or login? Or if necessary, compiling a custom kernel, though something I could use when working on other people's machines would be most useful.

This question was provoked by comments here https://ux.stackexchange.com/questions/104893/what-is-the-significance-of-the-start-up-sound-of-a-system from a person who thinks my usual method of just removing the speakers is excessive. But I can't think of another way to do it, or find one with a Google search. Setting volume to zero doesn't work, at least in my experience, because some programs/web sites seem to be able to override that.

Edit to add some info in response to comments:

I have several systems of my own. The ones I use most are Lenovo T61 Thinkpads, so I don't really know what they have for sound internally. The couple of tower boxes are home-brew (Gigabyte motherboards) and I'm pretty sure they don't have sound cards, as I use them almost exclusively as compute & storage servers - and almost always access them via ssh.

The OS is various iterations of OpenSuSE, from (I think)13.1 to a recent 42.?. I use FVWM window manager.

  • If it's a desktop system and you never ever want it to play system sounds, then unplugging the speakers is indeed the simplest, most effective solution. Just stick with that if you don't want to mess with configuring the OS to be quiet. ;) – Mioriin Feb 18 '17 at 13:40
  • I've had desktop systems that would play (poorly) through the internal speaker. Determine which modules your audio hardware is using and blacklist them from being loaded. – ivanivan Feb 18 '17 at 16:31
  • @Mioriin: Sure, and that's what I do on my own systems. But the other thread got me wondering if there's a way to do it in software, so that I could apply it when I e.g. have to work on a shared lab machine. I'm pretty ignorant when it comes to PC sound drivers and such. – jamesqf Feb 19 '17 at 0:30
  • I would simply uninstall the alsa and pulseaudio packages. That would still leave root processes capable of using the speakers but root processes rarely do. The user processes would be simply unable to talk to the sound devices because of permissions, and unable to emit sound. Caveat: some package managers may want to uninstall a lot of things because of alsa. – grochmal Feb 19 '17 at 1:46
2

Most audio cards (you didn't say which one(s) you have) allow you to completely disable sound in ALSA by muting "Master" or a similar mixer control. Most distributions (you didn't say which one you use) allow to load default ALSA settings comparatively early in the boot process (for example, alsa-utils in Debian), and that should mute the sound before some application actually wants to play any sound this way.

If you also want to disable the interal PC speaker, that's a bit more difficult: I'd probably try to blacklist the pcspkr module, but I'm not sure if that works.

Both of these modifications shouldn't be overwritten by package updates.

0

You could go into the os and locate the audio files used during start up. But the downside to this is that every time you update they would be replaced you probaly could make a bash script to get rid of them for you.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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