Znalazłem kilka aplikacji, które wydają się być w stanie uruchomić się przy starcie, mimo że nie pojawiają się w zwykłych miejscach ...
- 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
Przynajmniej niektóre z tych aplikacji (np. Dzień pierwszy i Pauza - obie z Mac App Store) wydają się uruchamiać element ze swoich wewnętrznych LoginItems
folderów:
/Applications/Day One.app/Contents/Library/LoginItems/Day One Reminders.app
/Applications/Pauses.app/Contents/Library/LoginItems/PausesLauncher.app
Jako dobrzy obywatele, obie aplikacje pozwalają wyłączyć zachowanie przy uruchamianiu przy logowaniu, ale niepokojące jest to, że zachowanie to nie wydaje się być kontrolowane z preferencji ogólnosystemowych, a ja chciałbym sposób systematycznej identyfikacji / kontroli te elementy logowania. Tak więc (dwuczęściowe) pytanie brzmi:
- Co faktycznie kontroluje, czy / jak aktywowane są te elementy uruchamiania specyficzne dla aplikacji, i
- Jak mogę uzyskać spis wszystkich tych elementów logowania?
[zredagowano dla jasności 2013-03-20 11:22 PT]
fs_usage
, więc założyłem, że o to chodzi.Odpowiedzi:
Pierwszy dzień wydaje się przechowywać element logowania w /var/db/launchd.db/com.apple.launchd.peruser.501/overrides.plist:
Zmiana tego na true w tym samym pliku wyłączyła go:
źródło
(Nie chodzi o widoczne dla użytkownika elementy logowania w preferencjach systemowych użytkowników i grup)
Zawartość / Biblioteka / LoginItems / zakopane w pakiecie aplikacji wydaje się być implementacją podejścia Apple'a do aplikacji w piaskownicy.
Wskazówka od @ user495470 na temat przechowywania referencji pozycji logowania w /var/db/launchd.db/ wydaje się być nieaktualna w macOS 10.12
Wydaje się, że kierunek Apple zmierza w kierunku samodzielnego podejścia do aplikacji, w którym elementy LaunchDaemons, LaunchAgents i StartupItems mogą być w przyszłości niedostępne, ponieważ aplikacje Mac mogą w pewnym momencie wymagać piaskownicy (domysł, nie fakt). Z drugiej strony API CFPreferences i wysyłanie AppleEvents do uruchomienia są przestarzałe ...
Ref:
Podczas gdy w przeszłości łatwo było szukać w wyżej wymienionych folderach informacji o uruchamianiu startowym (według Dana), ten nowy model w piaskownicy, chociaż teoretycznie bezpieczniejszy operacyjnie, ukrywa możliwości uruchamiania aplikacji (lub trojana?) Przed wszystkimi normalnymi użytkownikami i większością superużytkowników którzy wiedzą szukać w katalogach systemowych. Odnalezienie tych ukrytych elementów logowania stało się teraz PITA (ból w aplikacji), albo albo przeglądając folder aplikacji, albo ręcznie otwierając pakiety aplikacji w / Contents / Library / w poszukiwaniu folderu „LoginItems” i jego zawartości. Dla rozwiązania na poziomie użytkownika znalazłem narzędzie, które wyświetla osadzone w pakiecie elementy logowania o nazwie CleanMyMac (można je dezaktywować lub aktywować. Uważaj, pobierz tę aplikację tylko od firmy. Dostępne są wersje crackowane, które przenoszą wirusa w sposób bardzo podobny do działania elementów logowania (ironia) ..)
I zauważ, że te elementy, włączone lub wyłączone, nie są częścią widocznego przez użytkownika elementu „Elementy logowania” w Preferencjach systemowych „Użytkownicy i grupy”:
Jeśli jesteś podobny do mnie i pracujesz nad tym na poziomie kodu, znajdziesz tutaj skonsolidowany przewodnik po implementacji (autor: Tim Schroeder 2013): Launch at Login Sandbox Project
źródło