Gedächtnisstützen IT

Apple, macOS

MacOS Startup Sound verhindern

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 …

Schreibe eine Antwort

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.