蘋果系統(tǒng)開機(jī)時(shí)會(huì)發(fā)出“咣”的一聲,這個(gè)音效本身沒有什么美感可言,在安靜的地方比如圖書館開機(jī)時(shí)更容易引起尷尬。然而蘋果系統(tǒng)本身并未提供一個(gè)功能禁用這個(gè)音效。
我寫了這樣一個(gè)腳本,可以禁用Mac OS開機(jī)音效。其原理是,開機(jī)音效聲音的大小取決于關(guān)機(jī)前系統(tǒng)聲音的大小,如果關(guān)機(jī)前是靜音的,則開機(jī)音效也被靜音。因此在關(guān)機(jī)之前執(zhí)行一個(gè)腳本,將系統(tǒng)設(shè)為靜音,開機(jī)后再執(zhí)行一個(gè)腳本,將靜音狀態(tài)取消,即可實(shí)現(xiàn)完美去除開機(jī)音效。
除此方法外,還有一些軟件可以禁用開機(jī)音效,但這些軟件通常是通過修改nvram的方式實(shí)現(xiàn)的,具有一定的危險(xiǎn)性,而且兼容性也得不到保障,比如升級(jí)到Mac OX X Lion后這些軟件就都失效了。而這段腳本則可以在10.6 10.7等系統(tǒng)上通用。
我已經(jīng)將腳本放在了我Google Code的項(xiàng)目主頁(yè)上,您可以直接下載執(zhí)行。如果您的機(jī)器可以連接互聯(lián)網(wǎng),請(qǐng)執(zhí)行:
curl -O http://iauth.googlecode.com/files/mute_on_startup.sh
chmod u+x mute_on_startup.sh
sudo ./mute_on_startup.sh
重啟一下你就會(huì)發(fā)現(xiàn)開機(jī)音效已經(jīng)沒有了。
如果您的機(jī)器不能聯(lián)網(wǎng),請(qǐng)先手動(dòng)創(chuàng)建mute_on_startup.sh(文件內(nèi)容附后)
然后執(zhí)行
chmod u+x mute_on_startup.sh
sudo ./mute_on_startup.sh
如果要恢復(fù)開機(jī)音效,請(qǐng)執(zhí)行
sudo mute_on_startup.sh restore
#mute_on_startup.sh的內(nèi)容如下
#!/bin/bash
if [ "$USER" != 'root' ]; then
echo 'You must run this script as root'
echo -e "Try: \033[0;31;1msudo $0 $1\033[0m instead"
exit 1
fi
if [ "$1" == 'restore' ]; then
echo 'Deleting script file...'
rm /Library/Scripts/mute-on.sh
rm /Library/Scripts/mute-off.sh
echo 'Deleting login script...'
defaults delete com.apple.loginwindow LoginHook
defaults delete com.apple.loginwindow LogoutHook
echo 'Done!'
exit 1
fi
if [ "$1" != '' ]; then
echo 'Unknown argument(s)'
exit 1
fi
echo 'Creating script...'
bash -c 'cat > /Library/Scripts/mute-on.sh <<EOF
#!/bin/bash
osascript -e 'set volume with output muted'
EOF
'
bash -c 'cat > /Library/Scripts/mute-off.sh <<EOF
#!/bin/bash
osascript -e 'set volume without output muted'
EOF
'
echo 'Grantng execution privilege...'
chmod u+x /Library/Scripts/mute-on.sh
chmod u+x /Library/Scripts/mute-off.sh
echo 'Creating login script...'
sudo defaults write com.apple.loginwindow LogoutHook /path/to/mute-on.sh
sudo defaults write com.apple.loginwindow LoginHook /path/to/mute-off.sh
echo 'Done!'
echo -e "To retore the modify, try: \033[0;31;1msudo $0 restore\033[0m"
轉(zhuǎn)自:http://kqwd.blog.163.com/blog/static/41223448201181073723776/