はじめに

(アイキャッチが無駄にポップですね。)

MacBook Proを普段快適に使っているのですが、あの充電したときになる「フォンッ」みたいな音が許せません。

たぶん、充電できているかどうかの確認のためになっていると思うのですが、僕は充電の有無で画面の明るさを変える設定にしているので、音は邪魔なだけです。しかもこの音、本体を消音にしていても鳴るし、音楽や動画などの他の再生されている音を遮ります。悪質です。

消しましょう。

環境

僕の環境は以下の通りです。違う場合は今回紹介する方法では消せない可能性があるので注意しましょう。

OS: macOS Catalina(10.15)
Model: MacBook Pro (13-inch, 2017, Two Thunderbolt 3 ports)

消し方

ターミナルで以下のコマンドを実行しましょう。

$ defaults write com.apple.PowerChime ChimeOnNoHardware -bool true
$ killall PowerChime

以上。

ちなみに

この音の正体はPowerChime.app(/System/Library/CoreServices/PowerChime.app)というアプリが鳴らしている音声ファイル(/System/Library/CoreServices/PowerChime.app/Contents/Resources/connect_power.aif)です。

他のサイトではこの音声ファイルをいじる方法が紹介されていたのですが、現在のMacは /System 以下のファイルの操作は原則禁止されているため、SIP(システム整合性保護)を無効化する必要があります。通常このSIPはセキュリティの観点から無効化することは推奨されません。ましてや、こんな音一つを消すために無効化して良いような保護ではないので、なんか調べて出てきたからの様な安易な気持ちでは実行しないようにしましょう。

今回紹介した方法は、アプリを読み込む設定ファイル(.plist)を変更することで消音対応を行なっています。Macの defaults コマンドではあらゆる設定ファイルの「デフォルト」を読み書きすることができます。つまり先ほどのコマンドは com.apple.PowerChime の設定の ChimeOnNoHardware という項目を truewrite するということですね。

ここで書き込まれた設定は /Users/<username>/Library/Preferences/com.apple.PowerChime.plist に書き込まれます。ただしバイナリ化されているため、中身を見たい場合はクイックルック(ファイルを選択しスペースキーを押す)か、xmlに変換( plutil -convert xml1 /Users/<username>/Library/Preferences/com.apple.PowerChime.plist 通常は上書きされてしまうので、されたくない場合は -o <path> のオプションを追加)して中身を見てみましょう。

また先ほどの defaults コマンドでも確認が行えます。今度は read を使い、 defaults read com.apple.PowerChime を実行すると、先ほど設定したものが確認できます。

おわりに

最後はもう関係ない話ですが、いろいろ調べてみて知らないこともあったのでまとめてみました。これでもうあの忌まわしき充電音とはおさらばです。