Программно выполненный при запуске на Mac OS X?

Как я программно устанавливаю комплект приложений на Mac OS X для выполнения, когда пользователь входит в систему?

В основном, эквивалент HKCU\Software\Microsoft\Windows\CurrentVersion\Run ключ реестра в Windows.

18
задан Jake Petroules 28 July 2010 в 23:38
поделиться

2 ответа

Вы можете добавить приложение в «Элементы входа в систему» ​​пользователя (в Системных настройках => Учетные записи = [пользователь]) или вы можете добавить агент launchd пользователю Папка ~ / Library / LaunchAgents (см. man launchd.plist ). Используйте ~ / Library / LaunchDaemons / , если ваше приложение не имеет пользовательского интерфейса. Как отмечают другие, launchd дает вам полный контроль над тем, когда приложение запускается, что произойдет, если приложение завершит работу или выйдет из строя, и т. Д. И наиболее подходит для приложений в стиле «демона» (с нашим пользовательским интерфейсом без пользовательского интерфейса).

Первым вариантом (элементами входа) можно управлять программно (ссылка с Gordon ).

18
ответ дан 30 November 2019 в 07:44
поделиться

"Правильный" метод заключается в создании LaunchAgent для процессов, которые вы хотите запускать при входе в систему и которые могут иметь пользовательский интерфейс, и LaunchDaemon для тех, которые должны быть чисто фоновыми процессами. В программе установки поместите plist в нужную папку, либо для пользователя, либо для всех пользователей, либо для системы. Причина, по которой этот метод лучше, в том, что вы можете использовать launchd для управления запуском вашего процесса, включая встроенную возможность убедиться, что он продолжает работать, даже если произошел сбой или он был убит пользователем.

6
ответ дан 30 November 2019 в 07:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: