J'ai trouvé quelques applications qui semblent pouvoir se lancer au démarrage, malgré qu'elles n'apparaissent pas aux endroits habituels ...
- Login Items (in the Users preference pane)
- /Library/LaunchAgents
- /Library/LaunchDaemons
- /Library/StartupItems
- /System/Library/LaunchAgents
- /System/Library/LaunchDaemons
- /System/Library/StartupItems
- ~/Library/LaunchAgents
- ~/Library/LaunchDaemons
- ~/Library/StartupItems
Au moins certaines de ces applications (par exemple, Day One et Pauses - toutes deux du Mac App Store) semblent lancer un élément à partir de leurs propres LoginItems
dossiers internes :
/Applications/Day One.app/Contents/Library/LoginItems/Day One Reminders.app
/Applications/Pauses.app/Contents/Library/LoginItems/PausesLauncher.app
En tant que bons citoyens, les deux applications vous permettent de désactiver le comportement de lancement à la connexion, mais il est déconcertant que ce comportement ne semble pas être contrôlable à partir d'une préférence à l'échelle du système, et j'aimerais un moyen d'identifier / contrôler systématiquement ces éléments de connexion. Donc, la question (en deux parties) est:
- Qu'est-ce qui contrôle réellement si / comment ces éléments de lancement spécifiques à l'application sont activés, et
- Comment puis-je obtenir un inventaire de tous ces éléments de connexion?
[édité pour plus de clarté 2013-03-20 11:22 PT]
fs_usage
, j'ai donc supposé que c'était ce qui se passait.Réponses:
Le premier jour semble stocker l'élément de connexion dans /var/db/launchd.db/com.apple.launchd.peruser.501/overrides.plist:
Changer cela en vrai dans ce même fichier l'a désactivé:
la source
(Il ne s'agit pas des éléments de connexion visibles par l'utilisateur dans les préférences des systèmes d'utilisateurs et de groupes)
Le contenu / bibliothèque / LoginItems / enfoui dans le bundle d'application est ce qui semble être la mise en œuvre de l'approche d'Apple pour les applications en bac à sable.
L'astuce de @ user495470 sur le stockage de la référence de l'élément de connexion dans /var/db/launchd.db/ semble désormais disparue dans macOS 10.12
La direction d'Apple semble se diriger vers l'approche autonome de l'application, où les LaunchDaemons, LaunchAgents et StartupItems pourraient être interdits à l'avenir, car les applications Mac pourraient devoir être mises en sandbox à un moment donné (conjecture personnelle, pas un fait). En revanche, l'API CFPreferences et l'envoi d'AppleEvents au lancement sont déconseillés ...
Réf:
Alors que dans le passé, il était facile de rechercher dans les dossiers susmentionnés des informations de lancement de démarrage (par Dan), ce nouveau modèle en bac à sable, bien que théoriquement plus sûr sur le plan opérationnel, cache la capacité de démarrage d'une application (ou cheval de Troie?) À tous les utilisateurs normaux et à la plupart des superutilisateurs. qui savent regarder dans les répertoires système. La recherche de ces éléments de connexion cachés est maintenant devenue un PITA (difficile dans l'application), soit en vous frayant un chemin dans le dossier Applications, soit en ouvrant manuellement les ensembles d'applications en recherchant dans / Contents / Library / un dossier "LoginItems" et son contenu. Pour la solution de niveau utilisateur, j'ai trouvé un outil qui répertorie les éléments de connexion intégrés au bundle d'application appelé CleanMyMac (peut les désactiver ou les activer. Soyez prudent, n'obtenez cette application que de la société. Il existe des versions fissurées qui portent en fait un virus d'une manière très similaire à la façon dont les éléments de connexion fonctionnent maintenant (ironie) ..)
Et remarquez comment ces éléments, activés ou désactivés, ne font pas partie des "éléments de connexion" visibles par l'utilisateur dans les préférences système "Utilisateurs et groupes":
Si vous êtes comme moi et que vous travaillez au niveau du code, un guide consolidé de mise en œuvre est ici (par Tim Schroeder 2013): The Launch at Login Sandbox Project
la source