Как создать сценарий или приложение для автоматического запуска или остановки при загрузке системы, входе пользователя в систему в определенное время, когда диск подключен и т. Д.?
macos
boot
startup
login-items
prosseek
источник
источник
Ответы:
Gui Метод
Если вы хотите, чтобы что-то запускалось при входе пользователя в систему, самый простой способ - использовать графический интерфейс. Вы можете
System Prefs > Accounts > Login Items
экран и добавьте элемент+
символ.app
на панельOptions
, затем выберитеOpen at Login
Метод запуска
Если вы хотите запустить что-то, что не является
.app
, или вы хотите иметь больший контроль над его запуском, например:тогда вы хотите использовать техническое решение, которое есть
launchd
.Самый простой способ настроить
launchd
конфигурационный файл - использовать инструмент для помощи. На момент написания статьи самым популярным методом был Lingon (более старая бесплатная версия которого доступна на SourceForge) или инструмент PList Website .Ручное кодирование
Если вы не хотите использовать Lingon или веб-сайт PList и хотите использовать только необработанные инструменты, доступные в системе, вы можете написать свои собственные
launchd
plist
вручную.Вот мой скрипт launchd для запуска SomeApp непрерывно после загрузки системы (независимо от входа пользователя). Он находится в / System / Library / LaunchAgents / и называется SomeApp.restart.plist. Если он запускается на основе имени пользователя, он может храниться в ~ / Library / LaunchAgents /
Загрузите его один раз
RunAtLoad
Опция запустит приложение в первый раз launchctl работает это.KeepAlive
Вариант будет повторно запустить приложение , если он выходит из строя.StartCalendarInterval
будет запущен в определенное время. Предположительно, это является взаимоисключающим с предыдущими двумя, но включено, чтобы показать, что можно сделать сlaunchd
Есть много дополнительных опций , которые можно найти, экспериментируя с LINGON или читая страницы человека для
launchctl
,launchd.plist
,plist
,launchd.conf
и т.д.источник
launchctl load -w ...
чтобы сделать изменения постоянными. На основании ваших отзывов я обновил скрипт конфигуратора OSX poweruserЛингон все еще работает. Я просто использовал его на прошлой неделе, чтобы создать «запланированное задание». После того, как я скачал его, мне пришлось использовать его автообновление, чтобы получить последнюю версию, но он работает нормально.
источник
Если необходимо запускаться только при загрузке системы, просто используйте вкладку «Элементы входа» на панели предпочтений «Учетные записи» в «Системных настройках».
Если это скрипт, используйте AppleScript Editor, чтобы сохранить его как приложение. Если это не скрипт AppleScript, вы все равно можете использовать AppleScript для запуска скрипта следующим образом:
do shell script "your script here"
источник
Не забывайте Loginhooks.
Хотя они запускаются с правами root, вы должны иметь возможность выполнить скрипт $ HOME / .loginhook, используя что-то вроде этого:
Затем просто добавьте все необходимые команды в ~ / .loginhook
Кроме того, несмотря на то, что 'launchd' - это "путь Mac", crontab по-прежнему является совершенно жизнеспособным вариантом, и его гораздо проще редактировать вручную, чем файлы XML, запускаемые при запуске.
Лично я с радостью заплатил 5 долларов за Lingon .
источник
/path/to/script
, аsudo defaults write com.apple.loginwindow LoginHook /path/to/script
? А смысл запуска скрипта в домашнем каталоге в том, что у каждого пользователя может быть свой кастом (или нет)~/.loginhook
?Запуск приложения в указанное время может быть легко осуществлен в iCal, как я только что узнал благодаря другому форуму!
Следует помнить одну вещь: если у вас есть несколько компьютеров Mac с общим доступом через iCloud, это событие также будет запускаться в тех приложениях, которые вы можете или не можете захотеть. Чтобы это произошло только на одном Mac, вам нужно создать событие в календаре «На моем Mac», что вы можете сделать следующим образом ...
Я только что узнал об этом сам и был приятно удивлен обоими советами, поэтому решил поделиться ими здесь.
Я получил информацию от этих полезных людей здесь ... так что спасибо вам, люди! ...
http://osxdaily.com/2013/04/15/launch-file-app-scheduled-date-mac-os-x/
источник