Как я программно устанавливаю комплект приложений на Mac OS X для выполнения, когда пользователь входит в систему?
В основном, эквивалент HKCU\Software\Microsoft\Windows\CurrentVersion\Run
ключ реестра в Windows.
Вы можете добавить приложение в «Элементы входа в систему» пользователя (в Системных настройках => Учетные записи = [пользователь]) или вы можете добавить агент launchd пользователю Папка ~ / Library / LaunchAgents
(см. man launchd.plist
). Используйте ~ / Library / LaunchDaemons /
, если ваше приложение не имеет пользовательского интерфейса. Как отмечают другие, launchd дает вам полный контроль над тем, когда приложение запускается, что произойдет, если приложение завершит работу или выйдет из строя, и т. Д. И наиболее подходит для приложений в стиле «демона» (с нашим пользовательским интерфейсом без пользовательского интерфейса).
Первым вариантом (элементами входа) можно управлять программно (ссылка с Gordon ).
"Правильный" метод заключается в создании LaunchAgent для процессов, которые вы хотите запускать при входе в систему и которые могут иметь пользовательский интерфейс, и LaunchDaemon для тех, которые должны быть чисто фоновыми процессами. В программе установки поместите plist в нужную папку, либо для пользователя, либо для всех пользователей, либо для системы. Причина, по которой этот метод лучше, в том, что вы можете использовать launchd для управления запуском вашего процесса, включая встроенную возможность убедиться, что он продолжает работать, даже если произошел сбой или он был убит пользователем.