Bei mir war jahrelang die App psst.app im Einsatz. Diese wird nun unter MacOS Mojave (MacOS 10.14) angemeckert, dass sie bald nicht mehr funktionieren wird (vermutlich beim nächsten Major-Upgrade).
Ungetestet:
$ sudo nvram SystemAudioVolume=%80
Weitere Möglichkeiten, wenn die oben angeführte nicht funktioniert (offenbar Hardware-abhängig):
$ sudo nvram SystemAudioVolume=%01
$ sudo nvram SystemAudioVolume=%00
$ sudo nvram SystemAudioVolume=" "
Wieder aktivieren:
$ sudo nvram -d SystemAudioVolume
Quellen:
Die Apps psst.app und StartNinja.app werden nicht mehr weiterentwickelt (Hersteller-Links sind tot). Mit StartupSound.prefPane habe ich keine Erfahrung, ist aber noch über http://www5e.biglobe.ne.jp/~arcana/StartupSound/BETA/index.en.html erreichbar.
Alle ungetestet:
Im Mac AppStore gibt es die Apps Silent Boot, Silent Start, Calm und StilleOpstart.
Die App beQUIET simple hat noch ein paar zusätzliche Sound-Features.
Update 1.1.2019:
Ich habe bei contolc.de und später in diesem Thread bei Apple folgende Vorgehensweise per Skript gefunden. Die Skripte werden beim Starten (Login) und Ausschalten (eigenltich ausloggen – Logout) ausgeführt. Lege als root 2 Dateien mit folgendem Inhalt an (Pfad habe ich für mich so gewählt, vermutlich muss man das Directory bash noch anlegen):
/Library/scripts/bash/mute-on.sh:
#!/bin/bash
osascript -e 'set volume with output muted'
/Library/scripts/bash/mute-off.sh:
#!/bin/bash
osascript -e 'set volume without output muted'
Die beiden Skriptdatein müssen dann noch lauffähig gemacht werden:
$ sudo chmod u+x /path/to/mute-on.sh
$ sudo chmod u+x /path/to/mute-off.sh
Überprüfe, ob es bereits Login- oder Logout-Hooks gibt, die möglicherweise überschrieben werden:
$ sudo defaults read com.apple.loginwindow LoginHook
$ sudo defaults read com.apple.loginwindow LogoutHook
Wenn es keine gäbe, würde das übrigens so aussehen:
$ defaults read com.apple.loginwindow LogoutHook
2019-01-01 20:49:54.796 defaults[6951:865614]
The domain/default pair of (com.apple.loginwindow, LogoutHook) does not exist
$ defaults read com.apple.loginwindow LoginHook
2019-01-01 20:50:09.502 defaults[6955:866535]
The domain/default pair of (com.apple.loginwindow, LoginHook) does not exist
Bei mir sind da offenbar die Skripte der StartNinja.app hinterlegt!
$ sudo defaults read com.apple.loginwindow LogoutHook
/Applications/StartNinja.app/Contents/Resources/muteOn.sh
$ sudo defaults read com.apple.loginwindow LoginHook
/Applications/StartNinja.app/Contents/Resources/muteOff.sh
Und siehe da … die NinjaApp macht eigentlich auch nichts anderes:
/Applications/StartNinja.app/Contents/Resources/muteOn.sh:
#!/bin/bash
osascript -e 'set volume with output muted'
/Applications/StartNinja.app/Contents/Resources/muteOff.sh:
#!/bin/bash
osascript -e 'set volume without output muted'
Will man die oben angelegten Skripte jetzt selbst aktivieren, geht man folgendermaßen vor (bei mir würde das die Hooks durch die StartNinja.app überschreiben):
$ sudo defaults write com.apple.loginwindow LogoutHook Library/scripts/bash/mute-on.sh
$ sudo defaults write com.apple.loginwindow LoginHook Library/scripts/bash/mute-off.sh
Löschen kann man die Hooks wieder über:
$ sudo defaults delete com.apple.loginwindow LoginHook
$ sudo defaults delete com.apple.loginwindow LogoutHook
BTW: was jetzt wirklich by mir den Ton mutet, Psst.app oder StartNinja.app, weiß ich jetzt eigentlich gar nicht. Werde ich in Zukunft wohl ausmisten müssen …