Encontrei alguns aplicativos que parecem capazes de se iniciar na inicialização, apesar de não aparecerem nos lugares habituais ...
- 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
Pelo menos alguns desses aplicativos (por exemplo, Dia Um e Pausas - ambos da Mac App Store) parecem estar lançando um item de suas próprias LoginItems
pastas internas :
/Applications/Day One.app/Contents/Library/LoginItems/Day One Reminders.app
/Applications/Pauses.app/Contents/Library/LoginItems/PausesLauncher.app
Como bons cidadãos, os dois aplicativos permitem que você desabilite o comportamento de iniciar o login, mas é desconcertante que esse comportamento não pareça ser controlável a partir de uma preferência de todo o sistema, e eu gostaria de uma maneira de identificar / controlar sistematicamente esses itens de login. Portanto, a pergunta (em duas partes) é:
- O que realmente está controlando se / como esses itens de inicialização específicos do aplicativo estão sendo ativados e
- Como posso obter um inventário de todos esses itens de login?
[editado para maior clareza 20-03-2013 11:22 PT]
fs_usage
, então presumi que era isso que estava acontecendo.Respostas:
O primeiro dia parece armazenar o item de login em /var/db/launchd.db/com.apple.launchd.peruser.501/overrides.plist:
Alterar isso para true no mesmo arquivo desativou:
fonte
(Não se trata dos itens de login visíveis pelo usuário nas Preferências de sistemas de usuários e grupos)
O conteúdo / biblioteca / itens de login / oculto no pacote de aplicativos é o que parece ser a implementação da abordagem da Apple para aplicativos em área restrita.
A dica do @ user495470 sobre o armazenamento da referência do item de login em /var/db/launchd.db/ agora parece estar extinta no macOS 10.12
A direção da Apple parece estar se encaminhando para a abordagem independente do aplicativo, onde os LaunchDaemons, LaunchAgents e StartupItems podem estar fora dos limites no futuro, pois os aplicativos Mac podem precisar de uma área restrita em algum momento (conjectura pessoal, não fato). Por outro lado, a API CFPreferences e o envio do AppleEvents para o lançamento foram preteridos ...
Ref:
Enquanto no passado era fácil procurar nas pastas mencionadas informações de inicialização de inicialização (por Dan), esse novo modelo em área restrita, embora teoricamente mais seguro operacionalmente, oculta a capacidade de inicialização de um aplicativo (ou de Trojan?) De todos os usuários normais e a maioria dos superusuários que sabem procurar nos diretórios do sistema. Encontrar esses itens de login ocultos agora se tornou uma PITA (dor no aplicativo), passando pela pasta Aplicativos ou abrindo manualmente os pacotes de aplicativos procurando em / Conteúdo / Biblioteca / uma pasta "LoginItems" e seu conteúdo. Para a solução no nível do usuário, encontrei uma ferramenta que lista os itens de login incorporados do pacote de aplicativos chamados CleanMyMac (pode desativá-los ou ativá-los. Cuidado, obtenha apenas este aplicativo da empresa. Existem versões rachadas disponíveis que realmente carregam um vírus de maneira muito semelhante à forma como os itens de login agora funcionam (ironia) ..)
Observe como esses itens, habilitados ou desabilitados, não fazem parte dos "Itens de login" visíveis pelo usuário nas Preferências do sistema "Usuários e grupos":
Se você é como eu e está trabalhando em nível de código, aqui está um guia consolidado de implementação (por Tim Schroeder 2013): O lançamento no projeto Sandbox de login
fonte