Wyłącz dźwięk uruchamiania OS X

25

Jak mogę na stałe wyłączyć dźwięk startowy (lub gong) w Yosemite?

(Używam 13-calowego MacBooka Pro z końca 2014 roku)

Wypróbowałem już kilka opcji tu i tam:

  • zainstalowany StartNinja.app => nie działał

  • zainstalowany Auto-Mute.app => nie działał

  • próbował zainstalować stary StartupSound prefPane => nie działał

  • próbowałem polecenia „sudo nvram SystemAudioVolume =% 80” => wolumen się nie zmienia (próbowałem także innych wartości niż 80, takich jak 00, 01 lub nic)

UWAGA: Wiem, że można wyciszyć dźwięk uruchamiania przy zmniejszeniu głośności, ale nie jest to trwałe rozwiązanie.

fffred
źródło
„Nie działał” to za mało informacji, aby zdiagnozować problem. Co się stanie, jeśli uciekniesz sudo nvram SystemAudioVolume=%80? (Uwaga
duża litera
1
Podałem kilka szczegółów: 80 lub 00 lub 00 lub „” nie zmieniaj głośności. Wielka litera V również niczego nie zmieniła.
fffred
@oarfish, zauważ, że próbowałem również ustawić zmienną SystemAudioVolumeDB, bez powodzenia, ponieważ automatycznie resetuje się do% eb przy ponownym uruchomieniu.
fffred
Co więc mówi terminal po uruchomieniu polecenia? Jakiś błąd? A może ustawia parametr poprawnie, ale po prostu nic nie robi (tj. Sprawdza, czy polecenie w ogóle coś zrobiło, uruchamiając go sudo nvram -p | grep SystemAudioVolumelub coś takiego)
Oarfish
6
Apple musi być bardzo dumne z tego cholernego dźwięku. sudo nvram SystemAudioVolume=%80pracował wcześniej Yosemite. I nie przestaje działać. Zdarza mi się mieć iMac27 z dość głośnymi głośnikami i dużym rozmiarem. Więc nie mogę przekraść się do innego pokoju, żeby go uruchomić. I ryzykuję, że obudzę całą rodzinę w nocy lub wcześnie rano tylko z powodu tego dźwięku. To wraz z wieloma innymi drobnymi rzeczami nakarmiło mnie Apple. Mój następny komputer nie będzie Apple.
biocyberman

Odpowiedzi:

19

Chciałbym zasugerować mały skrypt, który napisałem, aby rozwiązać ten problem bez zhakowania systemu.

Chodzi o to, że dźwięk rozruchowy nie jest odtwarzany, jeśli komputer Mac został wyciszony przed wyłączeniem. Tak więc ten skrypt zasadniczo wycisza komputer Mac tuż przed wyłączeniem i przywraca poprzedni stan po zalogowaniu.

Powinien działać na dowolnej wersji systemu OS X i przetestowałem go na moich MacBookach z Yosemite.

Możesz go znaleźć na GitHub: https://github.com/teored90/nobootsound

Plik README informuje, jak zainstalować skrypt. Mam nadzieję, że to zadziała w twoim systemie i chciałbym usłyszeć twoją opinię.

Pincopallino
źródło
4
Postanowiłem użyć tego, gdy nic innego nie działałoby dla mnie. Działa jak urok i podoba mi się filozofia.
ConstableJoe
To dobre rozwiązanie, jeśli ponownie uruchomię system OSX. Zostaję wyciszony, jeśli uruchomię się w innym systemie operacyjnym, takim jak Windows lub Linux. I tak samo, jeśli wyłączę wyciszenie, gdy jestem w innym systemie operacyjnym i chcę ponownie uruchomić komputer!
biocyberman
@ biio tak w twojej sytuacji musisz znaleźć inny sposób. Nie mogę wymyślić żadnego prostego rozwiązania, aby skrypt działał z boot
campiem
To jest absurd. Czy nie ma sposobu, aby po prostu usunąć plik dźwiękowy lub wyłączyć lub ponownie przypisać dźwięk do niczego, co jest możliwe w systemie Windows, zamiast wykonywać absurdalne obejście wyciszania?
user124384,
Fajny skrypt - robię to ręcznie po aktualizacji OS X. - wycisz - zrestartuj Mac - wyłącz wyciszenie - następne ponowne uruchomienie również milczy.
Garex,
1

Wypróbuj to w terminalu:

sudo nvram SystemAudioVolume="%01"

następnie uruchom ponownie. Całkowicie wycina akord na moim komputerze Mac Yosemite.

Alternatywnie:

sudo nvram SystemAudioVolume=" "

(To pojedynczy znak spacji między cudzysłowami. Odtwarza akord startowy przy znacznie zmniejszonym poziomie głośności).

IconDaemon
źródło
2
Dzięki za odpowiedź, ale wypróbowałem oba polecenia i nie działały.
fffred
1

Podobało mi się i użyłem podobnego skryptu logowania / wylogowania, co sugerował Pincopallino w Yosemite i Maverick, ale z jakiegoś powodu tylko skrypt wylogowania działa dla mnie na El Capitan.

Skrypty przetestowałem bez wylogowania, a na początku wydają się działać. Nie jestem pewien, dlaczego loginhook nie działa. Uprawnienia są ustawione na tryb ósemkowy: 755, użytkownik: root, grupa: personel (zastanawiam się, czy powinno być teraz koło czy coś.)

Próbowałem edytować plik ttys, myśląc, że może loginhook nie działał w El Capitan, przetestowałem go, a następnie przywróciłem plik ttys, gdy nie dokonał zauważalnej zmiany po ponownym uruchomieniu.

Jednak używanie pliku .plist w / Library / LaunchAgents działa dla mnie.

Skomentowałbym odpowiedź Pincopallino, ale nie mam wystarczającej liczby punktów, aby to zrobić.

Oto przykład .plist dla zainteresowanych, którzy hipotetycznie pracowaliby z pakietem instalacyjnym teored90 / nobootsound , z którym łączył się Pincopallino . Przetestowałem to, aby upewnić się, że rzeczywiście działa.

<?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>com.YourUserName.nobootsound_loginhook</string>
      <key>Program</key>
      <string>/Users/YourUserName/.nobootsound_loginhook</string>
      <key>RunAtLoad</key>
      <true/>
   </dict>
</plist>
  1. Otwórz terminal i wklej poniższe polecenie. Polecenie touch tworzy pusty plik na pulpicie. Polecenie open informuje TextEdit, aby otworzyć nowy pusty plik. Śmiało wklej powyższy kod do pustego pliku tekstowego i zapisz go.

    touch ~/Desktop/com.YourUserName.nobootsound_loginhook.plist && open ~/Desktop/com.YourUserName.nobootsound_loginhook.plist -a TextEdit
    
  2. Skopiuj i wklej następne polecenie do terminala, miejmy nadzieję, że będziesz musiał wprowadzić hasło tylko raz. To polecenie zmienia uprawnienia .plist, aby można je było wykonać, i przenosi je tam, gdzie trzeba

    sudo chmod +x ~/Desktop/com.YourUserName.nobootsound_loginhook.plist && sudo chown root:wheel ~/Desktop/com.YourUserName.nobootsound_loginhook.plist && sudo mv ~/Desktop/com.YourUserName.nobootsound_loginhook.plist /Library/LaunchAgents
    

Wyloguj się i zaloguj ponownie, sprawdź, czy działa. Myślę o rozwidleniu Teored90 / nobootsound, byłoby to dla mnie idealne pierwsze doświadczenie.

Jeśli to nie działa i chcesz, aby .plist poszedł skopiować i wkleić poniżej do terminala po raz ostatni:

sudo launchctl unload /Library/LaunchAgent/com.YourUserName.nobootsound_loginhook.plist & sudo rm /Library/LaunchAgent/com.YourUserName.nobootsound_loginhook.plist

Pamiętaj, aby zastąpić wszystkie wystąpienia „YourUserName” rzeczywistą nazwą użytkownika.

adamlogan
źródło
Dziękuję za interesujący post. Podejście to jest interesujące (i prawdopodobnie bardziej nowoczesne), ale o ile rozumiem, dotyczy to tylko części logowania, prawda? Nadal potrzebujesz haka do wylogowania. W każdym razie, czy wypróbowałeś najnowszą wersję skryptu z El Capitan? Teraz powinien działać poprawnie (przynajmniej działa w moim systemie).
Pincopallino,
0

W przeszłości wszystkie komputery Mac i system operacyjny (nawet 7/8/9) działały przy ustawianiu głośności na 0 dla wszystkich opcji dźwięku (dźwięk systemowy, wyjście dla Sosumi itp.) Po zalogowaniu. Uruchomiłem ponownie i voila - brak dźwięku podczas bagażnik. Po ponownym uruchomieniu komputera Mac ustawiłem głośność na mój ulubiony poziom, spróbowałem ponownie uruchomić komputer i nadal nie ma dźwięku.

Nigdy nie dowiedziałem się, dlaczego takie zachowanie istnieje. :)

Garex
źródło
1
I o ile pamiętam, wciśnięcie klawisza no-sound na klawiaturze przez długi czas podczas poweron również ustawiło dźwięk uruchamiania na 0. Nie pytaj mnie dlaczego ... :)
Garex
0

To po prostu zadziałało dla mnie (Mac Pro Tower, Yosemite): http://www.maintain.se/cocktail/

Trzymam kciuki. Nadal wydawał dźwięk startowy przy pierwszym ponownym uruchomieniu, ale kilkakrotnie uruchomiłem ponownie bez dźwięku. Całkiem ekscytujące, jeśli nadal działa. Jeszcze go nie kupiłem, po prostu pobrałem go w trybie demonstracyjnym, ale chętnie zapłacę 20 USD, jeśli wyniki będą długoterminowe.

Hal
źródło
0

Ponieważ nagle, bez wyraźnego powodu, mam ten sam problem, musiałem znaleźć rozwiązanie dla siebie. Natknąłem się na ten wątek unix.SE. Zaleca utworzenie skryptu, który będzie działał przy zamykaniu systemu w ten sposób (np. W pliku o nazwie silence.sh):

#!/usr/bin/env bash

nvram SystemAudioVolume=%80

Następnie dostosuj uprawnienia do pliku sudo chown root silence.sh; sudo chmod u+s silence.sh; sudo chmod o+x silence.sh. Następnie ustawić go jako hak wylogowania: sudo defaults write com.apple.loginwindow LogoutHook /path/to/silence.sh. Wydaje mi się, że to działa.

Edycja: W końcu nie działa dla mnie (pierwszy raz musiał to być zbieg okoliczności), ale może działa dla innych.

Dlatego użyłem skryptu, aby wyciszyć dźwięk podczas wylogowywania

osascript -e 'set volume with output muted'

To śmieszne, że muszę za każdym razem wyłączać wyciszenie laptopa, ale lepiej niż ten szalony dzwonek rozruchowy.

wiosłowa
źródło
„set-user-ID-on-wykonanie” (chmod u + s) nie ma wpływu na skrypty powłoki
nohillside
@patrix Być może nic nie wiem o własności plików i uprawnieniach w unixie, po prostu skopiowałem instrukcje, które mi pomogły. Jeśli masz pewność (lub możesz potwierdzić), że tak naprawdę nie jest to konieczne, edytuj tę odpowiedź.
wiosłowa
0

Nie mogę komentować w OP, ponieważ mam <50 powtórzeń, ale chciałem dodać, że Onyx ma tę opcję: Parametry> Logowanie> Dźwięk uruchamiania.

Nie działa to jednak dla mnie pod 10.10.3. FileFault 2 włączony, nie jestem pewien, czy to może przeszkadzać. Jeśli zresetuję PRAM (uruchom mac i naciśnij cmd + alt + p + r i pozwól, aby dzwonek startowy zadzwonił 3 razy), to wyłącz dźwięk startowy w onyksie, przy następnym uruchomieniu ponownie nie będzie dzwonka startowego. Ale jeśli uruchomię się ponownie po raz drugi, grzmiący dźwięk powróci.

Naprawdę chciałbym, Apple uczyniłoby to opcję w Preferencjach systemowych> Audio. W zależności od środowiska może to być bardzo niepokojące i nieprofesjonalne. Tak, nigdy nie wyłączaj komputera Mac, ale teraz wyłączanie urządzeń komputerowych może być zdrowe.

Edycja: W MacUpdates pojawił się StartupChimeMute dzisiaj. Ale zawodzi dla mnie, tak jak zrobił to Onyx.

foss
źródło
Uwaga: StartupChimeMute nie działa na moim komputerze.
fffred
-1

sudo nvram SystemAudioVolume=%80

To działało dla mnie w najnowszej wersji El capitain.

Lu.nemec
źródło
1
Nie dodaje to niczego, co jeszcze nie zostało powiedziane.
Tetsujin,