Music Decoy: macOSでApple Musicが自動起動するのを防ぐ
Music Decoyは、macOSにおける一般的な不満、つまりキーボードの再生ボタンを押したり、Bluetoothヘッドセットがトリガーになったりした際にApple Musicアプリが自動的に起動してしまう問題を解決します。この動作はシステムにハードコードされており、標準の設定では無効にすることができません。
Music Decoyの仕組み
Music Decoyは、「プレースホルダー」プロセスとして機能することで、Apple Musicアプリの起動を防ぎます。公式のApple Musicアプリと同じbundle identifierを使用することで、システムにMusicアプリが既に実行中であると誤認させます。そのidentifierで実行中のプロセスが存在するため、macOSは実際のMusicアプリケーションを起動しようとしません。
コミュニティメンバーの一人が指摘したように、これはmacOSがbundle identifierやメディアイベントをどのように処理するかを深く理解した、ローコードなエンジニアリングソリューションです。
The app does absolutely no work in the background. It works by simply existing as a running process, thanks to having the same bundle identifier as the Music app.
Apple Musicが起動するトリガーとなるイベント
Apple Musicは、通常、以下のような条件下で自動的に起動します:
- Keyboard Input: 他にオーディオアプリケーションがアクティブでない状態で、再生キーを押した場合。
- Bluetooth Connectivity: Bluetoothヘッドセットが接続され、再生コマンドが送信された場合。
- Call Transitions: 電話を切った後、Bluetoothヘッドセットが通話モードから音楽モードに切り替わった場合。
設定と使用方法
再生ボタンのリダイレクト
バージョン1.1以降、Music Decoyは再生ボタンが押された際に起動する別のアプリケーションをユーザーが設定できるようにしています。例えば、再生ボタンをSpotifyにリダイレクトして起動させるには、Terminalで以下のコマンドを実行します:
defaults write com.lowtechguys.MusicDecoy mediaAppPath /Applications/Spotify.app
この設定をデフォルトに戻すには、以下を使用します:
defaults delete com.lowtechguys.MusicDecoy mediaAppPath
アプリケーションの管理
Music DecoyにはDockアイコンやメニューバーアイコンがないため、システムツールを介して管理する必要があります:
- Activity Monitor: "Music Decoy"を見つけ、停止ボタンを使用してアプリを終了します。
- Terminal:
killall 'Music Decoy'を実行してプロセスを終了します。
自動起動を防ぐための代替手段
サードパーティ製ユーティリティを使用しないことを好むユーザー向けに、いくつかの代替手段が存在します:
- noTunes: Musicアプリの起動を監視し、即座にプロセスを終了させる同様のアプリケーション。効果的ですが、バックグラウンドで少量のCPUを使用します。
- Disabling the Remote Control Daemon (rcd): ユーザーは
launchctl unload -w /System/Library/LaunchAgents/com.apple.rcd.plistを実行できます。しかし、これはシステム全体で再生ボタンの機能を完全に無効化します。 - Permissions Modification: 一部のユーザーは、アプリのバンドルから実行権限を削除するために
sudo chmod -x /Applications/Music.appを使用することを提案しています。 - Library Locking:
~/Music/Musicフォルダをロックして、アプリの起動を防ぐ。
macOSのメディアコントロールに関するコミュニティの視点
ユーザーは、Apple Musicのエコシステムへ強制的に組み込まれることに対して、大きな不満を表明しています。あるユーザーは、プロフェッショナルな環境におけるこの動作の危険性を強調しました:
I use my MacBook to run my (musical) keyboard rig for live performances... if I were to accidentally hit the button in the middle of a set, and it decides to default to whatever interface is connected to the P.A. system, then now I've just started blasting some random song at full volume to everyone in the venue.
他のユーザーは、この動作をMicrosoftの初期の独占禁止法訴訟を例に挙げ、、ユーザーの好ましいワークフローを妨げる侵入的なOSベンダーの振る舞いであると述べています。特に、ストリーミングサービスを利用するのではなく、ローカルのデジタル音楽ライブラリを維持しているユーザーにとって、それは顕著です。