Empêcher le lancement de l’app Apple Music
(lowtechguys.com)- Music Decoy est une app qui reste présente comme processus en cours d’exécution pour empêcher l’ouverture de l’app système Music lorsqu’on appuie par erreur sur ▶ Play
- Elle ne fait absolument rien en arrière-plan et utilise le même identifiant de bundle que l’app Music afin que le système considère que Music est déjà en cours d’exécution
- À partir de la v1.1, le réglage mediaAppPath permet de configurer le lancement d’une autre app, comme Spotify, lors d’un appui sur ▶ Play
- Le lancement automatique de l’app Music peut se produire après un appui sur la touche ▶ Play du clavier, une commande de lecture après connexion d’un casque Bluetooth, ou quand un casque repasse du mode appel au mode musique après la fin d’un appel
rcdenvoie la commande à l’app audio en cours s’il y en a une lors d’un événement de lecture, sinon il lance l’app système Music ; désactiver ce démon désactive aussi les contrôles multimédias du clavier
Music Decoy
-
Téléchargement, voir le code source, commande d’installation
$brew install music-decoydisponible -
Empêcher le lancement de l’app Music
- Tant que Music Decoy est en cours d’exécution, l’app système Music ne se lancera pas même si vous appuyez par erreur sur ▶ Play
- L’app ne fait absolument rien en arrière-plan ; elle existe simplement comme processus en cours d’exécution avec le même identifiant de bundle que l’app Music
-
Fonctionnement
- Elle utilise l’identifiant de bundle
com.apple.Musicpour amener le système à considérer que l’app Music est déjà en cours d’exécution
- Elle utilise l’identifiant de bundle
-
Configuration
- Depuis la v1.1, il est possible de configurer Music Decoy pour lancer une autre app lorsqu’on appuie sur le bouton ▶ Play
- Exemple de commande de configuration pour Spotify :
defaults write com.lowtechguys.MusicDecoy mediaAppPath /Applications/Spotify.app - Commande pour réinitialiser la configuration :
defaults delete com.lowtechguys.MusicDecoy mediaAppPath
-
Comment quitter
- Il n’y a ni icône dans le Dock ni icône dans la barre de menus ; il faut donc quitter l’app par l’un des moyens suivants
- Ouvrir Activity Monitor, trouver Music Decoy, puis cliquer sur le bouton ❌ en haut
- Exécuter
killall 'Music Decoy'dans le Terminal
- Il n’y a ni icône dans le Dock ni icône dans la barre de menus ; il faut donc quitter l’app par l’un des moyens suivants
Conditions de lancement automatique, cause et alternatives
-
Quand Music se lance-t-elle toute seule ?
- Cela se produit lorsqu’on appuie sur la touche ▶ Play du clavier et qu’aucune autre app ne lit d’audio
- Cela se produit lorsqu’un casque Bluetooth se connecte et envoie une commande de lecture
- Cela se produit lorsqu’un casque Bluetooth repasse du mode appel au mode musique à la fin d’un appel
-
Pourquoi cela se produit-il ?
rcdest l’abréviation de Remote Control Daemon, le démon chargé du traitement des touches multimédias- Lorsqu’un événement de lecture se produit,
rcdvérifie s’il existe une app en train de lire de l’audio - S’il y a une app de lecture audio, il lui envoie la commande de lecture ; sinon, il lance l’app système Music
- Il existe une méthode pour désactiver ce démon, mais cela désactive aussi les fonctions de contrôle multimédia au clavier
-
Alternatives
- D’après cette réponse StackExchange, il existe plusieurs façons d’obtenir le même effet
launchctl unload -w /System/Library/LaunchAgents/com.apple.rcd.plist- Inconvénient : désactive complètement le bouton Play
- noTunes détecte les apps lancées et ferme Music immédiatement après son ouverture
- Inconvénient : utilise une quantité infime de CPU en arrière-plan, même si la détection des apps lancées demande très peu de travail
1 commentaires
Avis Hacker News
C’est vraiment malin que l’application fonctionne simplement en restant comme un processus en cours d’exécution avec le même identifiant de bundle que l’app Music, sans rien faire du tout en arrière-plan
Ce genre de solution low-code/no-code a une élégance qui ne vient que d’une compréhension très profonde du système. Il faut savoir exactement ce qui se passe quand on appuie sur le bouton lecture dans macOS, comment fonctionnent les identifiants de bundle, et le résultat n’est presque rien d’autre qu’une simple « collision », ce qui est magnifique
Au passage, les agents de codage sont faibles sur ce genre de problème. Le Codex actuel aurait de fortes chances de créer une application excessive qui surveille en boucle le lancement de Music avant de la tuer
Si on lui demande « empêche le lancement de l’app Apple Music », il ira probablement, comme la plupart des humains, vers une approche de surveillance puis fermeture. Mais si on lui demande « enquête sur la raison pour laquelle Apple Music se lance », l’utilisateur peut rapidement conclure à partir des résultats que la meilleure solution est de créer une application sans code qui entre en conflit avec Music
info.plistencom.apple.systempreferences, puis en signant le.appavec mon propre certificat développeurC’était assez drôle jusqu’à ce que je me fasse prendre
J’ai encore du mal à croire qu’Apple ait supprimé iTunes
Avant, j’y gardais toute ma bibliothèque musicale numérique, en grande partie issue de CD que j’avais rippés moi-même, mais il y avait aussi des albums et des séries TV achetés sur iTunes. Quand Apple a purement et simplement abandonné iTunes et l’a supprimé de Mac OS pour le remplacer par quelque chose comme Apple Music, je me suis dit que je ne leur ferais plus jamais confiance
J’ai cherché pendant un moment un bon lecteur MP3 et j’ai aussi essayé AIMP, mais maintenant je pense carrément créer moi-même, avec l’IA, un lecteur basé sur des fichiers locaux avec mon propre interface. Je n’ai pas besoin de streaming et je n’en veux pas. J’aurais peut-être continué à acheter des albums sur iTunes, mais aujourd’hui il vaut mieux acheter des CD
J’ai fait ça pendant la majeure partie de l’an dernier : j’ai désactivé les fonctions cloud, mis toute ma musique locale dans Apple Music, puis synchronisé mon iPhone par câble comme avec un vieil iPod, et ça marche toujours très bien
Même sans abonnement à Apple Music, je garde toute ma bibliothèque musicale numérique dans iTunes/Music et je l’utilise comme avant
J’utilise l’utilitaire intégré
hidutilpour remapper les touches F3 à F9 comme je veuxJ’ai mis F3/F4 sur la luminosité du rétroéclairage du clavier, et F5 à F9 en touches de fonction normales. Il y a beaucoup d’infos utiles dans ce post : https://news.ycombinator.com/item?id=35555475
Sur mon MacBook M1, je fais ça avec
hidutil property --setetUserKeyMapping, en définissant les valeursHIDKeyboardModifierMappingSrc/HIDKeyboardModifierMappingDstJ’aurais eu besoin de ça il y a quelques mois. En concert, je fais tourner mon setup clavier sur un MacBook, et pour le monitoring j’utilise des casques sans fil à faible latence
Le dongle émetteur du casque est branché sur l’ordinateur portable, et si j’appuie sur le bouton du casque, le dongle envoie une commande « lecture/pause », ce qui lance Music et commence à jouer de l’audio sur le périphérique de sortie par défaut. Il ne vérifie même pas si l’émetteur du casque est sélectionné comme sortie par défaut, donc dans une configuration multi-appareils complexe, le son peut très bien partir vers un tout autre appareil
Si j’appuie par erreur sur le bouton pendant le concert et que la sortie par défaut est l’interface connectée à la sono, une piste aléatoire peut partir dans toute la salle à volume maximal
Aujourd’hui, j’ai modifié le matériel pour brancher le dongle non plus sur l’ordinateur portable mais du côté de l’interface audio, donc ce n’est plus un problème immédiat, mais empêcher ce genre de mauvais comportement faisait aussi partie des raisons de cette reconfiguration. Sur un appareil premium destiné aux professionnels de la création, ce type de comportement non configurable est totalement inadapté à un environnement de concert
Ça me déprime de voir Apple utiliser ce genre de tactiques de bas étage à la Microsoft. Forcer les utilisateurs vers un autre produit, c’est de l’autocannibalisation de marque
Ça rappelle l’ancien face-à-face Microsoft contre Netscape
Je ne comprends pas pourquoi il n’existe pas de moyen simple de désactiver ce comportement agressif. On dirait une interaction volontairement coercitive et désagréable, le genre de chose qui, si on ne la coupe pas tôt, finit par proliférer et enfermer davantage l’utilisateur
Ce n’est pas propre à Apple : beaucoup de designers produit adoptent cette attitude arrogante
Ce que je déteste, c’est que quand on ouvre un fichier audio, Music se lance automatiquement et l’ajoute en plus à la bibliothèque musicale
Ensuite il faut le supprimer manuellement en choisissant « conserver le fichier »
Ça remonte à tellement loin que j’avais même oublié que l’app par défaut était Music. Lire un fichier ne veut pas dire qu’on veut l’ajouter à sa bibliothèque
.mp3, d’ouvrir Lire les informations, de changer l’application par défaut pour celle que vous voulez, puis de cliquer sur « Change all... »Il faut le faire une fois par type de fichier, mais ensuite c’est réglé
Ça m’agace énormément qu’un mauvais clic sur les AirPods lance soudainement une application que je n’utilise pas et que je ne veux pas
J’utilise https://github.com/tombonez/noTunes
J’aime aussi le fait qu’il n’utilise pas d’icône dans la barre de menus, ce qui économise cet espace limité
J’aime beaucoup l’approche. C’est intelligent. Cela dit, personnellement, j’aime bien que le fait d’appuyer sur le bouton PLAY du clavier ouvre Apple Music
J’avais cherché autrefois comment empêcher ça, mais sans bons résultats, alors j’avais créé un Shortcut qui refermait Music quand l’app s’ouvrait
En pratique, ça fonctionnait plutôt bien, mais ça posait problème quand je voulais vraiment utiliser Music. Comme expérience utilisateur Apple, c’est assez mauvais et agaçant