How do I disable the volume control overlay? When changing the volume on a Mac, you get a big ugly gray bezel showing the change in volume. This is super annoying when (say) watching a movie. Is there any way to disable this?
Hold up, don't modify important system files!
Mac OS has a nice way to start/stop services without doing permanent damage.

To turn off bezels for this user until next login:
launchctl unload -F /System/Library/LaunchAgents/com.apple.BezelUI.plist
To undo, change unload to load, or just log out and back in.

For macOS 10.12 Sierra: Disable System Integrity protection, then:
launchctl unload -F /System/Library/LaunchAgents/com.apple.OSDUIHelper.plist
Don't forget to enable System Integrity protection when you're done.



To turn off bezels indefinitely for this user:
launchctl unload -wF /System/Library/LaunchAgents/com.apple.BezelUI.plist

For macOS 10.12 Sierra: Disable System Integrity protection, then:
launchctl unload -wF /System/Library/LaunchAgents/com.apple.OSDUIHelper.plist
You can now enable System Integrity protection again -- your settings will persist.

To undo, change unload to load.



To turn off bezels indefinitely for all users:
sudo defaults write /System/Library/LaunchAgents/com.apple.BezelUI Disabled -bool YES  

For macOS 10.11 Sierra: Disable System Integrity protection before doing the above.

To undo, change YES to NO, or:
sudo defaults delete /System/Library/LaunchAgents/com.apple.BezelUI Disabled

For macOS 10.12 Sierra: Disable System Integrity protection, then:
sudo defaults write /System/Library/LaunchAgents/com.apple.OSDUIHelper Disabled -bool YES
You can now enable System Integrity protection again -- your settings will persist.

To undo, change YES to NO, or:
sudo defaults delete /System/Library/LaunchAgents/com.apple.OSDUIHelper Disabled

Users can override this global setting using the two methods above.



More info: launchctl is the command-line interface to launchd, the program that manages services and jobs on Mac OS.


To reverse any of the above actions, just change unload to load.
-w means write preference to disk so that it will be used for subsequent logins
-F means force un/load regardless of the global Disabled key


You can read more about it in man launchctl.