Я нашел пару приложений, которые, кажется, могут запускаться при запуске, несмотря на то, что они не появляются в обычных местах ...
- 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
По крайней мере, некоторые из этих приложений (например, Day One и Pauses - оба из Mac App Store), похоже, запускают элемент из своих собственных внутренних 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]
fs_usage
, поэтому я предположил, что именно так и происходит.Ответы:
Первый день, кажется, хранит элемент входа в /var/db/launchd.db/com.apple.launchd.peruser.501/overrides.plist:
Изменение этого значения на true в том же файле отключило его:
источник
(Речь идет не о видимых для пользователя элементах входа в Системных настройках пользователей и групп)
Содержимое / Библиотека / LoginItems /, скрытое в комплекте приложений, - это то, что, по-видимому, является реализацией подхода Apple к изолированным приложениям.
Подсказка от @ user495470 о хранении ссылки на элемент входа в систему в /var/db/launchd.db/, похоже, теперь не работает в macOS 10.12
Похоже, что руководство Apple направляется к самодостаточному подходу, в котором LaunchDaemons, LaunchAgents и StartupItems могут быть запрещены в будущем, так как приложения Mac в какой-то момент могут потребоваться для песочницы (личное предположение, а не факт). С другой стороны, API CFPreferences и отправка AppleEvents для запуска устарели ...
Ref:
Хотя в прошлом было легко просматривать информацию о запуске при запуске в вышеупомянутых папках (для каждого Дана), эта новая модель с песочницей, хотя и теоретически безопаснее в эксплуатации, скрывает возможность запуска приложения (или трояна?) От всех обычных пользователей и большинства суперпользователей. кто знает заглянуть в системные каталоги. Поиск этих скрытых элементов входа в систему теперь стал PITA (боль в приложении), когда вы либо просматриваете папку «Приложения», либо вручную открываете пакеты приложений, ища в / Contents / Library / папку «LoginItems» и ее содержимое. Для решения на уровне пользователя я нашел инструмент, который перечисляет встроенные элементы входа в комплект приложений под названием CleanMyMac (может деактивировать или активировать их. Будьте осторожны, приобретите это приложение только у компании. Доступны взломанные версии, которые на самом деле содержат вирус, очень похожий на то, как теперь работают элементы входа (ирония) ..)
И обратите внимание, что эти элементы, включенные или отключенные, не являются частью видимых пользователю «элементов входа» в системных настройках «Пользователи и группы»:
Если вы похожи на меня и работаете над этим на уровне кода, здесь есть сводное руководство по реализации (Тим Шредер, 2013): проект «Запуск в песочнице при входе в систему».
источник