Come posso silenziare la suoneria di avvio su El Capitan?

0

È assurdo che nel 2016 abbiamo ancora a che fare con questo, ma dal momento che l'aggiornamento a El Capitan, le soluzioni precedenti non sembrano funzionare per me più. Questo è quello che ho provato.

silence.sh

sudo nvram SystemAudioVolume="%00" # does nothing
osascript -e 'set volume with output muted'
echo "run at $(date)" >> /var/log/silence_log.txt

1. LogoutHook

Questo è ciò che ha funzionato su Yosemite

sudo defaults write com.apple.loginwindow LogoutHook /path/to/silence.sh

ma ho smesso di lavorare sulla mia quasi fresca installazione El Capitan

2. LaunchAgent

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC -//Apple Computer//DTD PLIST 1.0//EN
http://www.apple.com/DTDs/PropertyList-1.0.dtd>
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>Silence</string>
    <key>ProgramArguments</key>
    <array>
        <string>/path/to/silence.sh</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>

Ma l'esecuzione di launchctl load silence_sysvol.plist non scrive nulla nel log, quindi lo script non sembra essere eseguito e non ho capito come farlo caricare ed eseguire sempre al logout.

Ho letto che launchd invierà SIGTERM agli agenti al logout, quindi qualcosa del genere sarebbe un modo per andare?

#!/usr/bin/env bash

function silence()
{
   sudo nvram SystemAudioVolume="%00" # not working
   osascript -e 'set volume with output muted'
   echo "run at $(date)" >> /var/log/silence_log.txt
}

trap silence SIGTERM
silence

3. nobootsound

Ho provato questo, non ha funzionato.

    
posta oarfish 18.07.2016 - 11:44
fonte

2 risposte

0

Dopo un (pochi) riavvio (i), il metodo 1 è tornato a funzionare. Mi batte.

    
risposta data 20.07.2016 - 20:07
fonte
-3

Ho trovato questo articolo che aiuterà: link

Rispondi se funziona.

    
risposta data 18.07.2016 - 15:47
fonte

Leggi altre domande sui tag