В System / Library есть каталог для элементов автозагрузки, который я предполагаю: StartupItems
Мне нужно иметь скрипт оболочки, который настроит интерфейс Ethernet при запуске, с адресом локальной сети и маской подсети. Я должен сделать это, потому что сетевые настройки для настройки интерфейса Ethernet НЕ установят его, используя ручные настройки. Это кажется серьезной ошибкой, или моя установка плохая.
Мне дали совет использовать networksetup из командной строки, но это не настроит интерфейс Ethernet таким образом, что конфигурации будут там при перезагрузке.
Сценарий должен выполнять свою работу с правами суперпользователя или с sudo, но я предполагаю, что если он использует sudo, во время загрузки появится диалоговое окно с паролем, когда процесс загрузки дойдет до этого сценария.
(У меня было достаточно опыта работы с FreeBsd и Linux, чтобы найти выход в терминале, но не обязательно, поскольку это относится к Mac OSX)
<key>Program</key>
со значением,<string>/bin/sh</string>
а затем<key>ProgramArguments</key>
просто должен иметь значение<string>/path/to/script</string>
<key>ProgramArguments</key>
должен быть массив ..Некоторое время назад я использовал cron только для этого. Вы можете сделать запись, как это
Больше информации здесь
источник
cron
это не правильный способ сделать это на OS X в наши дни. Вместо этого используйте LaunchAgent или LaunchDeamon (launchd). Для получения дополнительной информации: developer.apple.com/library/mac/documentation/MacOSX/Conceptual/…Although it is still supported, cron is not a recommended solution. It has been deprecated in favor of launchd.
cron
намного проще в настройке, чемlaunchd
, хотя. Просто сравните два ответа в этой теме, чтобы понять, что я имею в виду.cron
занимает одну строку в одном файле, гдеlaunchd
нужен скрипт для описания скрипта, который вы хотите запустить при загрузке.Взгляните на скрипт входа в систему.
https://wiki.afp548.com/index.php/Login/Logout_Hooks_in_OS_X
источник