Disabilitazione degli elementi di avvio eseguiti da soli


9

Ho trovato un paio di app che sembrano essere in grado di avviarsi all'avvio, nonostante non appaiano nei soliti posti ...

- 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

Almeno alcune di queste app (ad esempio Day One e Pause - entrambe dal Mac App Store) sembrano lanciare un elemento dalle proprie LoginItemscartelle interne :

/Applications/Day One.app/Contents/Library/LoginItems/Day One Reminders.app
/Applications/Pauses.app/Contents/Library/LoginItems/PausesLauncher.app

Come buoni cittadini, entrambe le app ti consentono di disabilitare il comportamento di avvio all'accesso, ma è sconcertante che questo comportamento non sembri essere controllabile da una preferenza a livello di sistema e mi piacerebbe un modo per identificare / controllare sistematicamente questi elementi di accesso. Quindi, la domanda (in due parti) è:

  • Cosa controlla effettivamente se / come vengono attivati ​​questi elementi di avvio specifici dell'app e
  • Come posso ottenere un inventario di tutti questi elementi di accesso?

[modificato per chiarezza 20-03-2013 11:22 PT]



Perché pensi che non sia un duplicato (aiuta a evitare di ottenere di nuovo le stesse risposte)? E presumo tu stia vivendo questo con applicazioni specifiche, potresti elencarle nella tua domanda per favore?
Nohillside

E penso che stai sbagliando la cosa del Primo Giorno. La cosa che hai elencato sopra è solo l'app Promemoria (menu) che viene avviata se è selezionata la funzione di avvio all'avvio. Non è una cartella LaunchAgents / Daemons in modalità sandbox.
Nohillside

Grazie per il chiarimento. Potrei sbagliarmi sulla diagnosi, ma è lì che ho visto l'attività mentre guardavo l'azione "disabilita" fs_usage, quindi ho pensato che fosse quello che stava succedendo.
Dan,

E non un duplicato perché all'altra domanda è stata data risposta con l'elenco standard di elementi di accesso che ho elencato all'inizio della domanda. Le applicazioni con cui vedo che ciò accade (incluso il primo giorno) non compaiono nei miei elementi di accesso o in quelle directory ...
Dan

Risposte:


8

Il primo giorno sembra memorizzare l'elemento di accesso in /var/db/launchd.db/com.apple.launchd.peruser.501/overrides.plist:

$ /usr/libexec/PlistBuddy -c 'Print _com.apple.SMLoginItemBookmarks:com.dayoneapp.dayone-agent' /var/db/launchd.db/com.apple.launchd.peruser.501/overrides.plist
book 0(UserslaurTorrents
                        Day One.apContentsLibrary
LoginItemsDay One Reminders.app $4HXh?kld ????$A????H???A?1M?$5DF7A03E-A7FB-3E80-B61D-F10CD8BF7B5D?/?0c75ae904b0f99cb3a794e7360629c822a0f4a14;00000000;0000000000000020;com.apple.app-sandbox.read-write;00000001;01000002;0000000000641712;/users/lauri/torrents/day one.app/contents/library/loginitems/day one reminders.app??????D|@l 0 ? ? ? ?  0 <???????D

Modificandolo su true nello stesso file è stato disabilitato:

<key>com.dayoneapp.dayone-agent</key>
<dict>
    <key>Disabled</key>
    <false/>
</dict>

1
Bello - sembra che questa sia la risposta. Sono ancora sconcertato dal fatto che questo non sia emerso in alcun modo ovvio: non è nel riquadro delle preferenze degli elementi di accesso (garantito, ci dovrebbe essere una nuova sezione per tutti gli utenti) ... non in nessuna delle cartelle di avvio ... nemmeno a Lingon. Per curiosità, come hai saputo dove cercare?
Dan

Ho eseguito fseventer quando ho aperto il Day One per la prima volta.
Lri

Grazie per aver condiviso i tuoi risultati investigativi! A volte uso anche fseventer per le applicazioni di monitoraggio di FS.
porg,

2

(Non si tratta degli elementi di accesso visibili dall'utente nelle Preferenze di sistema Utenti e gruppi)

Contenuto / Libreria / LoginItems / sepolti nel bundle dell'applicazione è quella che sembra essere l'implementazione dell'approccio di Apple alle app in modalità sandbox.

Il suggerimento di @ user495470 sull'archiviazione del riferimento dell'elemento di accesso in /var/db/launchd.db/ sembra ora defunto in macOS 10.12

Sembra che la direzione di Apple si stia dirigendo verso l'approccio autonomo dell'app in cui LaunchDaemons, LaunchAgents e StartupItems potrebbero essere off-limits in futuro in quanto potrebbe essere necessario eseguire il sandbox delle app Mac ad un certo punto (congetture personali, non fatti). D'altra parte, l'API CFPreferences e l'invio di AppleEvents per il lancio sono obsoleti ...

Rif:

Mentre in passato era facile cercare nelle suddette cartelle le informazioni di avvio all'avvio (per Dan), questo nuovo modello sandbox, sebbene teoricamente più sicuro a livello operativo, nasconde la capacità di avvio di un'app (o Trojan?) Da tutti gli utenti normali e dalla maggior parte dei superutenti che sanno guardare nelle directory di sistema. La ricerca di questi elementi di accesso nascosti ora è diventata una PITA (problema nell'app) con la possibilità di accedere rapidamente alla cartella Applicazioni o di aprire manualmente i pacchetti di app cercando in / Contenuti / Libreria / una cartella "LoginItems" e i relativi contenuti. Per la soluzione a livello di utente, ho trovato uno strumento che elenca gli elementi di accesso incorporati del bundle dell'app chiamato CleanMyMac (puoi disattivarli o attivarli. Fai attenzione, ottieni questa app solo dalla società. Sono disponibili versioni crackate che portano effettivamente un virus in un modo molto simile al modo in cui gli elementi di accesso ora funzionano (ironia) ..) CleanMyMac mostra il selettore degli elementi di accesso

E nota come questi elementi, abilitati o disabilitati, non fanno parte dell'utente "Elementi di accesso" visibili nelle Preferenze di Sistema "Utenti e gruppi":

Se sei come me e stai lavorando a livello di codice, ecco una guida consolidata all'implementazione (di Tim Schroeder 2013): The Launch at Login Sandbox Project

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.