자체적으로 실행되는 시작 항목 비활성화


9

나는 평소에 나타나지 않더라도 시작시 스스로 시작할 수있는 두 개의 앱을 발견했습니다 ...

- 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

이러한 앱 중 적어도 일부 (예 : Mac App Store의 Day One 및 Pauses)는 자체 내부 LoginItems폴더 에서 항목을 실행하는 것으로 보입니다 .

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

좋은 시민으로서, 두 앱 모두 로그인 시작 동작을 비활성화 할 수 있지만, 시스템 전체 환경 설정에서이 동작을 제어 할 수없는 것 같습니다. 이 로그인 항목. 따라서 (두 부분) 질문은 다음과 같습니다.

  • 이러한 앱별 실행 항목의 활성화 여부와 방법을 실제로 제어하는 ​​것
  • 이러한 모든 로그인 항목의 인벤토리를 얻으려면 어떻게해야합니까?

[명확성을 위해 편집 됨 2013-03-20 11:22 PT]



왜 중복되지 않았다고 생각합니까 (같은 답변을 다시 얻지 못하게 도와줍니다)? 그리고 특정 응용 프로그램 에서이 문제가 발생한다고 가정합니다. 질문에 나열 할 수 있습니까?
nohillside

그리고 나는 당신이 Day One을 착각하고 있다고 생각합니다. 위에 나열된 것은 로그인 시작을 확인하면 시작되는 알림 앱 (메뉴)입니다. 샌드 박스 된 LaunchAgents / Daemons 폴더가 아닙니다.
nohillside

설명 주셔서 감사합니다. 진단에 대해 잘못 알고있을 수도 있지만,이 기능을 사용하여 "비활성화"동작을 볼 때 활동을 fs_usage확인한 것이므로 이것이 진행되고있는 것으로 가정했습니다.
Dan

그리고 질문의 시작 부분에 나열된 표준 로그인 항목 목록으로 다른 질문에 대답했기 때문에 속임수가 아닙니다. 내가보고있는 응용 프로그램 (1 일 포함)이 로그인 항목이나 해당 디렉토리에 나타나지 않습니다.
Dan

답변:


8

첫날은 로그인 항목을 /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

동일한 파일에서 이것을 true로 변경하면 비활성화됩니다.

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

1
니스-그게 답인 것 같습니다. 왜 이것이 명백한 곳에 나타나지 않는지 여전히 당황합니다. 로그인 항목 환경 설정 창에 있지 않습니다 (권한, 모든 사용자를위한 새로운 섹션이 있어야 함) ... 시작 폴더가 아닙니다 ... Lingon에서도 마찬가지입니다. 호기심으로 어디를 볼지 어떻게 알았습니까?
Dan

첫날 을 처음 열었을 때 fseventer를 실행 했습니다.
Lri

조사 결과를 공유해 주셔서 감사합니다! 때로는 FS 모니터링 응용 프로그램에 fseventer를 사용하기도합니다.
porg

2

(이것은 사용자 및 그룹 시스템 환경 설정에서 사용자가 볼 수있는 로그인 항목이 아닙니다)

응용 프로그램 번들에 포함 된 Contents / Library / LoginItems /는 Apple의 샌드 박스 응용 프로그램 접근 방식을 구현 한 것으로 보입니다.

/var/db/launchd.db/의 로그인 항목 참조 저장에 대한 @ user495470의 팁이 macOS 10.12에서 없어진 것 같습니다.

애플의 방향은 미래에 LaunchDaemons, LaunchAgents 및 StartupItems가 Mac 앱을 어느 시점에서 샌드 박스해야 할 때 (사실 추측이 아니라) 제한이있을 수있는 앱 자체 포함 방식으로 향하고있는 것으로 보입니다. 반면에 CFPreferences API와 실행을 위해 AppleEvents를 보내는 것은 더 이상 사용되지 않습니다 ...

참조 :

과거에는 앞서 언급 한 폴더에서 시작 시작 정보 (Dan 별)를 쉽게 찾을 수 있었지만,이 새로운 샌드 박스 모델은 이론적으로 운영상 안전하지만 모든 일반 사용자와 대부분의 수퍼 유저로부터 앱 (또는 트로이 목마?) 시작 기능을 숨 깁니다. 시스템 디렉토리를 살펴 보는 사람. 이 숨겨진 로그인 항목을 찾는 것은 이제 PITA (앱에서 고통)가되었으며 응용 프로그램 폴더를 통해 경로를 잡거나 "LoginItems"폴더에 대한 / Contents / Library /를 찾고 수동으로 응용 프로그램 번들을 열면 해당 내용이 표시됩니다. 사용자 수준 솔루션의 경우 CleanMyMac 이라는 응용 프로그램 번들에 포함 된 로그인 항목을 나열하는 도구를 찾았습니다. (비활성화하거나 활성화 할 수 있습니다. 조심하고 회사에서만이 앱을 가져 오십시오. 실제로 로그인 항목의 작동 방식과 매우 유사한 방식으로 바이러스를 운반하는 크랙 버전이 있습니다 (아이러니).) 로그인 항목 선택기를 보여주는 CleanMyMac

활성화 또는 비활성화 된 이러한 항목이 "사용자 및 그룹"시스템 환경 설정에서 사용자가 볼 수있는 "로그인 항목"의 일부가 아닌지 확인하십시오.

나와 비슷하고 코드 수준에서이 작업을 수행하는 경우 구현에 대한 통합 안내서가 여기 있습니다 (팀 슈뢰더 2013) : 로그인 샌드 박스 프로젝트에서 시작

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.