항목 실행을 중지 할 수 있습니다. launchctl disable gui/$UID/ 번들 ID
.
번들 ID를 모르는 경우 다음을 입력하여 찾을 수 있습니다. launchctl list
. 목록에 표시됩니다. 모든 첫 번째 열에 PID와 함께 사용자의 프로세스를 실행합니다. 그래서, 당신이 이것을 본다면 :
$ launchctl list
- 0 com.apple.SafariHistoryServiceAgent
277 0 com.apple.Finder
- 0 com.apple.quicklook
- 0 com.apple.parentalcontrols.check
[…]
189 0 com.example.ExampleDaemon
- 0 com.apple.java.InstallOnDemand
... 액티비티 모니터를 사용하여 원하지 않는 앱의 PID가 번들 ID를 만드는 189임을 확인할 수 있습니다. com.example.ExampleDaemon
. 그때:
launchctl disable gui/$UID/com.example.ExampleDaemon
그게 전부 야. 그곳에 ~이다. 여전히 비활성화 된 디스크의 로그인 항목에 대한 기록입니다. 제거하고 싶거나 더 배우고 싶다면 계속 읽으십시오.
반 직관적으로 (그러나 즐겁게?), 목록은 여기에 저장됩니다 :
/var/db/com.apple.xpc.launchd/disabled.$UID.plist
이 파일은 다음과 같이 보일 것입니다 :
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.example.ExampleDaemon</key>
<false/>
</dict>
</plist>
예, false
해당 번들 ID가있는 앱 할까요 시작시 시작할 수 있습니다. 실행 후 launchctl disable
, false
~로 변경됩니다. true
. (내가 알 수있는 한 launchd는이 파일들을 바로 쓰지 않기 때문에 재부팅 할 때까지이 파일을 볼 수 없습니다.) 다음 명령을 사용하여 비활성화 된 항목을 볼 수 있습니다 :
launchctl print-disabled gui/$UID
여기에 저장된 각 로그인 항목에 대한 추가 정보가 있습니다. 하지만 그것을 제거해도 항목 실행이 중지되지는 않습니다.
/var/db/com.apple.xpc.launchd/loginitems.$UID.plist
시스템을 실행하는 동안 변경 한 내용은 시스템 종료 / 재시작시에 덮어 씁니다. 그래서, 제가 말할 수있는 한, 항목을 완전히 제거하는 유일한 방법입니다. disabled.$UID.plist
단일 사용자 모드에서 재부팅하고 거기에서 편집하는 것입니다. 실행하지 않고도 launchctl disable
, key
/ false
이 파일의 쌍은 로그인시 앱 실행을 중지시킵니다. 나는이 대답에서 단일 사용자 모드로 이러한 파일을 편집하기위한 지침을 포함하지 않을 것입니다.