世界を動かす技術を、日本語で。

Apple Musicアプリの自動起動を停止する

概要

Music Decoy は、 Playボタン 押下時に 別アプリ起動 を設定可能。 rcdデーモン がメディアキー操作を管理。 代替手段 としてrcd無効化やnoTunes利用も選択肢。 アプリ終了は Activity Monitor または コマンド実行 で対応。 本記事では設定方法や動作原理、終了手順について解説。

Music Decoyの設定方法

  • v1.1以降Playボタン で指定アプリを起動可能
  • 設定コマンド(Spotify例)
    • defaults write com.lowtechguys.MusicDecoy mediaAppPath /Applications/Spotify.app
  • 設定リセットコマンド
    • defaults delete com.lowtechguys.MusicDecoy mediaAppPath

Musicアプリが自動起動するタイミング

  • キーボードのPlayキー 押下時、他に再生中アプリがない場合
  • Bluetoothヘッドセット接続 時、再生コマンド受信時
  • 通話終了後、ヘッドセットが音楽モードへ切替時

自動起動の理由

  • rcd(Remote Control Daemon) がメディアキー操作を管理
  • Playイベント発生時、再生中アプリがなければ Musicアプリ を起動
  • rcd無効化 はメディアキー全体の制御不能につながる

代替手段

  • rcd無効化コマンド
    • launchctl unload -w /System/Library/LaunchAgents/com.apple.rcd.plist
    • 問題点: Playボタン完全無効化
  • noTunesアプリ利用
    • Music起動検知→即終了処理
    • 問題点: 微量のCPU使用、バックグラウンド常駐
    • 長所: Playボタンでカスタムアプリ起動 可能

Music Decoyの終了方法

  • Dockアイコン・メニューバーアイコンなし
  • 終了方法
    • Activity Monitor で「Music Decoy」を探し、上部の❌ボタンで終了
    • ターミナルコマンドkillall 'Music Decoy'

Hackerたちの意見

ありがとう、これほんとにイライラする。エアポッドを誤ってクリックしちゃって、使ったこともないアプリがいきなり立ち上がるんだよね。

使ったこともないアプリがいきなり立ち上がる 俺はAppleファンじゃないけど、必要ないならそのアプリをアンインストールすればいいんじゃない?

同感!しかも、上にブロックするモーダルダイアログに明らかな閉じるボタンがないんだよね。これはダークパターンだわ。

私の場合は、音声ファイルを開くと自動的に再生されて、しかも音楽ライブラリに追加されるのが嫌なんだ。ライブラリに追加されるのが特にムカつく。そしたら削除して、「ファイルを保持する」を選ばなきゃいけないし。

うわ、最悪だね。

ああ、昔、MusicアプリがまだiTunesって呼ばれてた頃、すべての音楽ファイルをQuickTime Playerで開くように設定してたんだ。もう長いこと前のことだから、デフォルトがMusicアプリだったのを忘れてたよ。ファイルを再生することが、ライブラリに追加したいってことじゃないってのは、俺には明らかなんだけどね。

これ、俺もイライラしたけど、直すのは結構簡単だよ。ファイル(.mp3とか)を右クリックして、「情報を取得」を選んで、デフォルトのアプリを好きなアプリに変更して、「すべて変更...」をクリックすればOK。ファイルタイプごとに一回だけやればいいから、やってしまえば楽だよ。

ほんと、プレイリストの仕事関連の音声で何度もビックリさせられたことあるわ。

車に乗るたびに、Apple Musicアプリが全画面ポップアップで再購読を促してくる。だいたい2、3回試してからやっと止まるんだよね。

Apple MusicとSpotifyの両方を使ってるけど、普通は車の中では前者を使う。前回のシャットダウンから状態を復元してくれるからね。でもSpotifyを使うと、次に車を始動したときにApple Musicが立ち上がるのがほんとにウザい。

Appleがこんな低レベルなマイクロソフトの戦術を使ってるのを見るのは悲しいよ。ユーザーを他のクソ製品を立ち上げさせるために圧力をかけるのは、ブランドの食い合いだよ。

でも、メディアセッションがないときに再生ボタンを押しても音楽プレイヤーが開かないのはなんでなんだろう?

いいね、最近自分専用のメディアプレイヤーを作ったんだ。自分のデジタル音楽ライブラリを主に聞いてるから、今のソフトウェアはどれも俺のシナリオに合わないし、リソースも使いすぎなんだよね…でも、Apple Musicがランダムに起動することが多くて、めっちゃウザい。この記事はそのトリックの仕組みを説明してて、他のサードパーティのソフトをインストールしなくても自分で実装できそうだね。

開発者だけど、ありがとう! macOSアプリコミュニティでは結構有名なソース(lowtechguys.com)で、ソースコードもフロントページにあるし(https://github.com/FuzzyIdeas/MusicDecoy)、コード自体は基本的に何もしないから、あんまり怖がることはないよ。

お知らせ:Unixだよ。sudo chmod -x /Applications/Music.app

そんなに簡単だったらいいんだけどね。~: sudo chmod -x /Applications/Music.app chmod: /Applications/Music.app: そのファイルやディレクトリは存在しません ~: sudo chmod -x /System/Applications/Music.app chmod: /System/Applications/Music.appのファイルモードを変更できません: 操作が許可されていません (Mac OS Tahoe 26.5)

まだiTunesがなくなったなんて信じられない。俺はiTunesにデジタル音楽ライブラリ全部入れてたんだ。ほとんどは自分でCDからリッピングした音楽だけど、iTunesで買ったアルバムもいくつかあったし、テレビ番組も少しあった。iTunesを完全に捨てて、Mac OSから削除して…なんかよくわからないApple Musicに移行した時、もう二度と彼らを信じないって思ったよ。しばらくいいmp3プレイヤーを探してたけど、AIMPも使ってたし、今は自分のインターフェースで自分専用のものを作って、ローカルファイルシステムとフォルダマウントに頼るつもり。AIを使って自分のためにカスタムなものを作れるこの新しい時代が本当に好きだし、特にOSベンダーからの悪質なものを忘れられるのがいいね。ストリーミングは必要ないし、欲しくもない。iTunesからアルバムを買い続けたかったけど、今はもう全然ダメだからCDで買うことにするよ、ありがとう。

なんでわざわざコードを書く必要があるの? VLCで十分だし、QuickTimeでもいいよね。

iTunesもiPhotoも両方とも。ツールがどんどん良くなってるし、既存のサンプルコードもたくさんあるから、近い将来に誰かがそれらをうまく再生させる可能性が高いと思う。Appleは、僕がMacで一番使ってたアプリを壊して、さらにバブリーなデザインのUIを追加したから、もういいや。

仕様が生成するソースよりも重要だよ。正しく指定して、世界と共有すればいい。コードは基本的にOSレベルのWinampスキンみたいなもんだね。

https://www.strawberrymusicplayer.org みたいな素晴らしい手作りのライブラリマネージャーやプレイヤーがたくさんあるよ。

Apple Musicのクラウドサービスをオフにすれば、ローカルトラックやiTunes Music Storeからダウンロードした音楽と一緒に使えるよ(まだ存在してるし)。去年のほとんどはそうしてた。Apple Musicにローカルの音楽を全部入れて、クラウドの機能を無効にして、ケーブルでiPhoneに同期させてたんだ。まるで古いiPodみたいにね。それでもちゃんと動いてたよ。

Swinsianをチェックしてみて。基本的には古いiTunesにUIの改善と、独自のライブラリを管理するための現代的な機能が加わったものだよ。ずっと前からあるし、今の時代にお金を払ってでも使いたい素晴らしいソフトウェアだよ。

Galaxy Buds Proを持ってて、この素晴らしいクライアントを使ってるんだ https://github.com/timschneeb/GalaxyBudsClient で、すべてのタッチを無効にしてるんだけど、時々クライアントがバックグラウンドで動いてないことがあって、Musicアプリが邪魔してくるから、これはありがたい!

このアプリはバックグラウンドで全く動作しないんだ。ただ、Musicアプリと同じバンドル識別子を持っているおかげで、実行中のプロセスとして存在するだけで動くんだよ。こういう賢い、コードがほとんどないエンジニアリングソリューションが大好き。これだけの優雅さに達するには、システムを深く理解する必要があるからね。この場合、Mac OSで再生ボタンが押されたときに何が起こるか、バンドル識別子がどう機能するかを正確に理解する必要がある。結果として、ほとんどコードがないアプリができあがるんだ – ただの衝突で、美しいよね。(余談だけど、コーディングエージェントはこういうのが苦手だと思う。今のCodexなら、Musicアプリの起動をループで探して、それを殺すような強力なアプリを書いちゃうだろうね。)

逆に、これはコーディングエージェントを効果的に使うための素晴らしい(仮想的な)例に感じるね。 > 現時点でのCodexは、音楽アプリの起動をループで監視して、それを終了させるような強力なアプリを作るだろうね。ほとんどのエンジニアも同じことをすると思う。こんなに優雅にコードを書く人はなかなかいないよね。同様に、「Apple Musicアプリの起動を止めて」とエージェントに頼んだら、ほとんどの人がすることをしようとするだろう。一方で、「Apple Musicアプリが起動する理由を説明して」と頼んだら、その調査結果から自分で気づくことになると思う。音楽アプリと衝突しないゼロコードアプリを作るのが最善の方法だってことに。

自分だけかと思ってた! 実際、これを解決するためにMacから音楽ライブラリを削除しちゃったけど、アプリが起動する時はまだ面倒だよ。シェアしてくれてありがとう!