(J'ai ajouté une mise à jour à la fin.)
Mes questions connexes :
Comment supprimer les éléments de connexion masqués de backgrounditems.btm?
Un travail launchd sans fichier plist, comment ça fonctionne et comment trouver ce qui le déclenche?
Même si les questions ci-dessus sont connexes, elles ne sont pas identiques à cette question.
Je suis sous MacOS Big Sur.
J'ai découvert que de nombreuses applications téléchargées en ligne se lancent automatiquement d'une certaine manière. J'ai beaucoup de mal à trouver comment elles se lancent automatiquement.
Prenons un exemple, com.xunlei.Thunder.ThunderHelper
se lance toujours automatiquement après le démarrage du système.
Jusqu'à présent, j'ai découvert deux éléments liés à ce démarrage automatique du processus.
Un provient d'un travail launchd (sans fichier .plist) :
$ launchctl list | grep -i thunder
405 0 com.xunlei.Thunder.ThunderHelper
$ launchctl print gui/$(id -u)/com.xunlei.Thunder.ThunderHelper
...
path = (soumis par otherbsd.330)
identifiant du programme = com.xunlei.Thunder.ThunderHelper
identifiant du bundle parent = com.xunlei.Thunder
...
L'autre est un élément de connexion masqué dans le fichier $HOME/Library/Application Support/com.apple.backgroundtaskmanagementagent/backgrounditems.btm
. REMARQUE : ce élément de connexion n'est PAS affiché dans les Préférences Système. Je l'ai trouvé en utilisant un script Python mentionné dans une autre question en détail python3 ./bgiparser.py -f backgrounditems.btm -c
.
Je ne trouve PAS d'élément lié au processus thunder
dans les répertoires suivants :
/Library/StartupItems
/System/Library/StartupItems
~/Library/LaunchAgents/
/Library/LaunchAgents
/Library/LaunchDaemons
/System/Library/LaunchAgents
/System/Library/LaunchDaemons
Je ne lance pas l'application thunder
moi-même.
MAINTENANT, pour empêcher le démarrage automatique, j'ai fait ce qui suit :
launchctl stop com.xunlei.Thunder.ThunderHelper
launchctl remove com.xunlei.Thunder.ThunderHelper
kill -9 405
rm "$HOME/Library/Application Support/com.apple.backgroundtaskmanagementagent/backgrounditems.btm"
Encore une fois, je n'ouvre pas l'application Thunder moi-même. Maintenant, j'éteins le système MacOS, débranche le câble d'alimentation, rebranche le câble d'alimentation, redémarre le système MacOS.
Magiquement, l'application helper de Thunder se lance automatiquement à nouveau. Il a recréé un travail launchd en cours d'exécution. Il a recréé un élément de connexion masqué dans un nouveau fichier backgrounditems.btm
.
Je suis très confus, comment fait-il ça ?
Si j'ouvre manuellement l'application et qu'il crée ensuite un travail launchd et un élément de connexion, ça me va. MAIS je ne lance pas du tout l'application. J'ai supprimé le fichier de connexion. J'ai arrêté le processus lié.
Quelqu'un peut-il m'aider à trouver comment ce programme se lance automatiquement ?
Un grand merci.
PS :
Je sais qu'il y a les fichiers et répertoires suivants :
/Applications/Thunder.app/Contents/Library/LaunchServices/com.xunlei.Thunder.HelperTool
/Applications/Thunder.app/Contents/Library/LoginItems/ThunderHelper.app/
Je sais que je pourrais les supprimer (bien que je ne l'ai pas encore essayé). Mais je veux comprendre comment ils se lancent automatiquement au lieu de les supprimer. Cheers.
Mise à jour
J'ai découvert une vérité effrayante sur ce problème.
Après avoir tué/supprimé tout processus Thunder en cours (y compris rm backgrounditems.btm
).
J'ai déplacé Thunder.app vers un autre répertoire avec la commande suivante :
$ mkdir -p $HOME/tmp/thunder_tmp/
$ mv /Applications/Thunder.app $HOME/tmp/thunder_tmp/
Et puis redémarrer le système MacOS. La chose la plus étrange est arrivée. L'application helper de Thunder a redémarré automatiquement depuis le nouveau chemin et a ajouté les éléments de connexion avec le nouveau chemin au nouveau fichier backgrounditems.btm
:
# Partie du fichier backgrounditems.btm décodé :
{
"name": "ThunderHelper.app",
"path": "/Users/myuser/tmp/thunder_tmp/Thunder.app/Contents/Library/LoginItems/ThunderHelper.app"
},
Il semble que MacOS recherche sur tout mon disque dur pour trouver toutes les applications d'aide et les lance automatiquement, puis les ajoute automatiquement en tant qu'élément de connexion masqué dans les éléments de connexion. (peut-être pas vrai)
Si c'est vrai, ce serait très effrayant !
Comment puis-je empêcher MacOS de faire cette chose effrayante ? Pourquoi recherche-t-il à chaque démarrage sur l'ensemble de mon disque dur pour trouver une application d'aide à démarrer et l'ajouter aux éléments de connexion ? C'est incroyable.