Skip to content
ColdBlast edited this page May 28, 2017 · 10 revisions

Welcome to the nobootsound wiki!

Please note that NoBootSound will not work when your MacOS system crashes and the shutdown sequence is not executed. It also needs to be installed for each user account; if the active user account at shutdown does not have it installed, startup sound will operate in the usual MacOS manner (maintaining the volume setting at shutdown).

I'm sorry to say I am a complete GitHub neophyte and have no idea what the right way to share this is...but I modified this code with information from https://coolaj86.com/articles/how-to-control-os-x-system-volume-with-applescript/ such that it lowers the startup volume rather than mutes it, then puts it back after startup. This is helpful in that the startup sounds can aid in troubleshooting hardware issues, but having them blast at you does not. I didn't bother with modifying filenames at all, because the install script is nifty. (However, many users won't get it to work without extra help like that at http://www.techradar.com/how-to/computing/apple/how-to-mute-or-enable-the-mac-startup-sound-1308461 . To install to a non-admin account, still more help is needed; see below.)

The modified nobootsound_loginhook file looks like this:

#!/bin/bash

# Read the value stored in .nobootsound_logoutvol to determine the volume

# before shutdown

logoutvolume="/Library/LogHook/nobootsound_logoutvol"

read val < "$logoutvolume"

logger "Nobootsound restoring volume to previous value. % volume: $val"

osascript -e "set volume output volume $val --100%"

The modified nobootsound_logouthook file looks like this:

#!/bin/bash

logoutvolume="/Library/LogHook/nobootsound_logoutvol"

# Store the volume right before shutdown

osascript -e 'output volume of (get volume settings)' > "$logoutvolume"

read val < "$logoutvolume"

logger "Nobootsound. Volume muted before shutdown: $val"

# Lower volume, so that soft sound will be played at boot

osascript -e 'set volume output volume 5 --100%'

If I should create a branch for this, please let me know. I wasn't clear on whether that's the right thing to do. This modification was developed and tested under MacOS 10.11.6 (El Capitan). For laptops, changing the volume setting from 5 to 15 is recommended (5 can be very hard to hear).

To install to a non-admin account:

  • Log into the admin account you plan to use
  • Download the NoBootSound installation folder and expand it to the desktop or downloads folder in the admin account you plan to use
  • Switch to the non-admin account you wish to install NoBootSound into
  • Start Terminal (under Applications:Utilities)
  • Use the su command to log in as an administrator. If your admin account name is "admin", then the command would be "su admin". You will be asked for the admin account password no matter what, but it will only work if the account name is correct.
  • From the bash prompt, change directory to the NoBootSound install folder. If the expanded folder is on the desktop in your admin account, that would be "cd /Users/[Admin Account Name]/Desktop/nobootsound-master"
  • Still in Terminal, execute the command "sudo sh install.sh". You will have to enter your admin account password again.
Clone this wiki locally