[Mac OS X] Отключаем звук перед загрузкой

При включении или перезагрузке Мака, каждый из нас слышит знаменитый звук Startup Chime. Но бывают ситуации, когда возникает желание отключить его – например, поздним вечером или ночью, когда не хочется разбудить кого-нибудь этим радостным аккордом. 🙂

Штатного отключения Startup Chime в наших Маках, к сожалению нет. Однако есть разные способы сделать это самостоятельно. Одному из таких способов посвящена эта заметка.

Суть метода – включение режима Mute (нулевой громкости) до воспроизведения Startup Chime и выключение его в момент входа пользователя в систему.

pic_0

Подготовительный этап

Для этого, нам понадобится написать два коротких скрипта, первый из которых мы назовем mute.sh, а второй unmute.sh.

Запустите Терминал.app. Выделите, скопируйте (Cmd+C), затем вставьте в окне терминала (Cmd+V) и выполните (Enter) каждую из этих четырех команд:

echo '#!/bin/bash' > ./mute.sh

echo "osascript -e 'set volume with output muted'" >> ./mute.sh

echo '#!/bin/bash' > ./unmute.sh

echo "osascript -e 'set volume without output muted'" >> ./unmute.sh

Затем точно так же последовательно скопируйте в терминал и выполните следующие команды:

sudo chmod u+x ./*mute.sh

sudo mv ./*mute.sh /Library/Scripts

Таким образом, мы создали два скрипта и поместили их в папку /Library/Scripts.

Теперь давайте создадим еще один скрипт, запуском которого мы будем либо разрешать, либо запрещать выполнение системой первых двух скриптов и тем самым либо отключать, либо включать звук при загрузке. Назовем его startupsound. Поскольку скрипт несколько сложнее двух предыдущих, воспользуемся редактором nano.

В Терминал.app выполните следующую команду:

sudo nano /usr/local/bin/startupsound

Выделите и скопируйте (Cmd+C) следующий код в окно запущенного редактора (Cmd+V):

#!/bin/bash

PARAM="$1"

if [ "$PARAM" = "off" ]; then
sudo defaults write com.apple.loginwindow LogoutHook /Library/Scripts/mute.sh;
sudo defaults write com.apple.loginwindow LoginHook /Library/Scripts/unmute.sh;
echo "Startup Chime was turned off."
elif [ "$PARAM" = "on" ]; then
sudo defaults delete com.apple.loginwindow LogoutHook;
sudo defaults delete com.apple.loginwindow LoginHook;
echo "Startup Chime was turned on."
else
echo "Usage:";
echo "startupsound off|on"
fi

Должно получиться так (картинка кликабельна):

pic_1

Нажмите Ctrl+X, затем Y, затем Enter. Тем самым мы создали файл startupsound с текстом нашего скрипта. Делаем его исполняемым, выполнив следующую команду:

sudo chmod +x /usr/local/bin/startupsound

Все готово

Использование скрипта очень простое:

startupsound off – для выключения звука при загрузке

startupsound on – для включения звука при загрузке

При выполнении скрипта вам будет предложено ввести ваш пароль. Введите его.

Удачи!