Общие папки / настройки Mac OS для проверки (при попытке избавиться от надоедливого самозапускающегося приложения)

11

Если есть приложение, которое запускается само по себе, какими будут наиболее эффективные места для его поиска? У кого-нибудь есть хороший исчерпывающий список того, где проверять элементы запуска, элементы входа, хуки входа, Cron, расширения ядра и т. Д.

На данный момент я забываю, где находится половина этих папок / plist-файлов. Я надеюсь, что у кого-то есть чит-лист, которым они могут поделиться.

В основном я ищу список наиболее распространенных мест, где Mac OS запускает приложения или скрипты автоматически (например: при входе в систему, по расписанию и т. Д.)

имя пользователя
источник
Эй, это все, что вы когда-либо хотели узнать о launchd, но боялись спросить: video.google.com/videoplay?docid=1781045834610400422#
имя пользователя

Ответы:

17

Приложения, которые запускаются при запуске:

/Library/StartupItems - Стандартные пункты запуска находятся здесь

sudo launchctl listили посмотрите /Library/LaunchDaemonsи /System/Library/LaunchDaemonsзапустите списки запуска, которые настроены на запуск без обязательного входа в систему. Примечание. Некоторые файлы .plist в перечисленных папках не будут отображаться, launchctl listпоскольку они не загружены для запуска.

Приложения, которые запускаются при входе в систему:

Проверьте элементы входа в систему, перейдя на панель настроек учетных записей в системных настройках.

Проверьте ~/Library/LaunchAgents, /Library/LaunchAgents/и /System/Library/LaunchAgentsдля .plists , что запуск программ выполняется , когда пользователь вошел в систему - вы можете использовать , sudo launchctl listчтобы увидеть , какие из них будут загружены.

Приложения, работающие по расписанию:

В терминале: crontab -eпокажет, что было запланировано с помощью cron для запуска элементов в определенное время. Элементы в любой из папок LaunchAgentsили LaunchDaemonsмогут быть настроены на выполнение с интервалами, а также определены в их файле .plist

Расширения ядра

Чтобы увидеть, какие расширения ядра загружены, вы можете любой пользователь Applications/Utilites/System Profiler.app(его можно быстро открыть, удерживая нажатой optionпри нажатии на меню Apple - Об этом Mac ... меняется на System Profiler ... в 10.5+)

В качестве альтернативы вы можете запустить kextstatв командной строке.

Крючки для входа / выхода

Чтобы выяснить, установлен ли Хук входа в систему или выхода из системы и найти файл сценария, вы можете выполнить следующую команду:

defaults read com.apple.loginwindow LoginHook и defaults read com.apple.loginwindow LogoutHook

или получить оба одновременно:

/usr/libexec/PlistBuddy -c Print /var/root/Library/Preferences/com.apple.loginwindow.plist | grep 'Hook'

Chealion
источник
Chealion, очень хороший ответ! Один вопрос - можете ли вы уточнить о хуках входа в систему - ни одна из ваших команд не работает для меня, и у меня нет Plistbuddy в libexec, для этого нужны инструменты разработчика или что-то?
Щупальце
@ The Tentacle - PlistBuddy устанавливается в этом месте, если вы работаете в версии 10.5 или новее. Попробуйте использовать locate PlistBuddy, чтобы найти, где он установлен, поскольку он имеет тенденцию быть установленным в пакетах, /Library/Receipts/которые требуют его использования. Чтобы узнать больше хуков входа в систему, посетите krypted.com/mac-os-x/login-logout-hooks
Chealion
@The Tentacle: PlistBuddy существует с 10.2, но его местоположение никогда не было стандартным до 10.5 (и даже у Mac Pro, поставляемого с 10.5.6, его не было в нормальном месте, пока не было применено комбо-обновление)
Chealion
2

Некоторые вещи можно найти в параметрах запуска пользователя, как указано в loxp, но не все.

Некоторые вещи настроены на запуск с помощью launchd в разное время. Вы можете просмотреть файловую систему, чтобы выяснить, что запускается (я забыл точные пути), или взять Lingon и посмотреть, что он перечисляет.

Herms
источник