Mac OS High Sierra по расписанию в неделю не запускаются, почему?

336
Collisio-Adolebitque

Стремясь повысить свою производительность и уменьшить отвлекающие факторы (после прослушивания «Deep Work» Кэла Ньюпорта из Audible), я решил автоматически запускать и закрывать приложения электронной почты и мгновенных сообщений на моем Mac в определенное время дня, что позволило мне сосредоточиться на продуктивная работа в остальное время. Я собрал вместе 2 apple-скрипта, которые отлично работают из терминала:

Скрипт 1: /Users/$USER/Documents/dev/apple_scripts/open_comms_apps.scpt

# Open messaging & comms apps. tell application "Microsoft Outlook.app" if not (exists window 1) then activate end tell tell application "Slack.app" if not (exists window 2) then launch end tell tell application "Skype.app" launch end tell 

Скрипт 2: /Users/$USER/Documents/dev/apple_scripts/close_comms_apps.scpt

# Close messaging & comms apps. tell application "Microsoft Outlook.app" if (exists window 1) then quit end tell tell application "Slack.app" quit end tell tell application "Skype.app" quit end tell 

NB. Я уже назначил Outlook, Slack и Skype своим рабочим столам.


Я хотел открывать их 3 раза в день только по будням, поэтому я создал следующие файлы plist для launchd.

Запланированное задание 1: /Users/$USER/Library/LaunchAgents/com.open.comms.apps.plist

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Disabled</key> <false/> <key>Label</key> <string>com.open.comms.apps</string> <key>KeepAlive</key> <false/> <key>RunAtLoad</key> <true/> <key>Program</key> <string>/usr/bin/osascript</string> <key>ProgramArguments</key> <array> <string>osascript</string> <string>/Users/$USER/Documents/dev/apple_scripts/open_comms_apps.scpt</string> </array> <key>StartCalendarInterval</key> <array> <dict> <key>Weekday</key> <integer>1</integer> <key>Hour</key> <integer>9</integer> <key>Minute</key> <integer>0</integer> </dict> <dict> <key>Weekday</key> <integer>1</integer> <key>Hour</key> <integer>13</integer> <key>Minute</key> <integer>0</integer> </dict> <dict> <key>Weekday</key> <integer>1</integer> <key>Hour</key> <integer>16</integer> <key>Minute</key> <integer>30</integer> </dict> <dict> <key>Weekday</key> <integer>2</integer> <key>Hour</key> <integer>9</integer> <key>Minute</key> <integer>0</integer> </dict> <dict> <key>Weekday</key> <integer>2</integer> <key>Hour</key> <integer>13</integer> <key>Minute</key> <integer>0</integer> </dict> <dict> <key>Weekday</key> <integer>2</integer> <key>Hour</key> <integer>16</integer> <key>Minute</key> <integer>30</integer> </dict> <dict> <key>Weekday</key> <integer>3</integer> <key>Hour</key> <integer>9</integer> <key>Minute</key> <integer>0</integer> </dict> <dict> <key>Weekday</key> <integer>3</integer> <key>Hour</key> <integer>13</integer> <key>Minute</key> <integer>0</integer> </dict> <dict> <key>Weekday</key> <integer>3</integer> <key>Hour</key> <integer>16</integer> <key>Minute</key> <integer>30</integer> </dict> <dict> <key>Weekday</key> <integer>4</integer> <key>Hour</key> <integer>9</integer> <key>Minute</key> <integer>0</integer> </dict> <dict> <key>Weekday</key> <integer>4</integer> <key>Hour</key> <integer>13</integer> <key>Minute</key> <integer>0</integer> </dict> <dict> <key>Weekday</key> <integer>4</integer> <key>Hour</key> <integer>16</integer> <key>Minute</key> <integer>30</integer> </dict> <dict> <key>Weekday</key> <integer>5</integer> <key>Hour</key> <integer>9</integer> <key>Minute</key> <integer>0</integer> </dict> <dict> <key>Weekday</key> <integer>5</integer> <key>Hour</key> <integer>13</integer> <key>Minute</key> <integer>0</integer> </dict> <dict> <key>Weekday</key> <integer>5</integer> <key>Hour</key> <integer>16</integer> <key>Minute</key> <integer>30</integer> </dict> </array> </dict> </plist> 

Запланированное задание 2: /Users/$USER/Library/LaunchAgents/com.close.comms.apps.plist

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Disabled</key> <false/> <key>Label</key> <string>com.close.comms.apps</string> <key>KeepAlive</key> <false/> <key>RunAtLoad</key> <true/> <key>Program</key> <string>/usr/bin/osascript</string> <key>ProgramArguments</key> <array> <string>osascript</string> <string>/Users/$USER/Documents/dev/apple_scripts/close_comms_apps.scpt</string> </array> <key>StartCalendarInterval</key> <array> <dict> <key>Weekday</key> <integer>1</integer> <key>Hour</key> <integer>9</integer> <key>Minute</key> <integer>30</integer> </dict> <dict> <key>Weekday</key> <integer>1</integer> <key>Hour</key> <integer>13</integer> <key>Minute</key> <integer>30</integer> </dict> <dict> <key>Weekday</key> <integer>1</integer> <key>Hour</key> <integer>16</integer> <key>Minute</key> <integer>45</integer> </dict> <dict> <key>Weekday</key> <integer>2</integer> <key>Hour</key> <integer>9</integer> <key>Minute</key> <integer>30</integer> </dict> <dict> <key>Weekday</key> <integer>2</integer> <key>Hour</key> <integer>13</integer> <key>Minute</key> <integer>30</integer> </dict> <dict> <key>Weekday</key> <integer>2</integer> <key>Hour</key> <integer>16</integer> <key>Minute</key> <integer>45</integer> </dict> <dict> <key>Weekday</key> <integer>3</integer> <key>Hour</key> <integer>9</integer> <key>Minute</key> <integer>30</integer> </dict> <dict> <key>Weekday</key> <integer>3</integer> <key>Hour</key> <integer>13</integer> <key>Minute</key> <integer>30</integer> </dict> <dict> <key>Weekday</key> <integer>3</integer> <key>Hour</key> <integer>16</integer> <key>Minute</key> <integer>45</integer> </dict> <dict> <key>Weekday</key> <integer>4</integer> <key>Hour</key> <integer>9</integer> <key>Minute</key> <integer>30</integer> </dict> <dict> <key>Weekday</key> <integer>4</integer> <key>Hour</key> <integer>13</integer> <key>Minute</key> <integer>30</integer> </dict> <dict> <key>Weekday</key> <integer>4</integer> <key>Hour</key> <integer>16</integer> <key>Minute</key> <integer>45</integer> </dict> <dict> <key>Weekday</key> <integer>5</integer> <key>Hour</key> <integer>9</integer> <key>Minute</key> <integer>30</integer> </dict> <dict> <key>Weekday</key> <integer>5</integer> <key>Hour</key> <integer>13</integer> <key>Minute</key> <integer>30</integer> </dict> <dict> <key>Weekday</key> <integer>5</integer> <key>Hour</key> <integer>16</integer> <key>Minute</key> <integer>45</integer> </dict> </array> </dict> </plist> 

Примечание: я пробовал это с жестко заданным именем пользователя в путях к файлам и системной переменной $ USER.


Я изменил права доступа к скриптам и загрузил файлы plist через терминал следующим образом:

chmod 755 /Users/$USER/Documents/dev/apple_scripts/open_comms_apps.scpt chmod 755 /Users/$USER/Documents/dev/apple_scripts/close_comms_apps.scpt launchctl load -w /Users/$USER/Library/LaunchAgents/com.open.comms.apps.plist launchctl load -w /Users/$USER/Library/LaunchAgents/com.close.comms.apps.plist 

Как многие могут ожидать, это не сработало, и когда я пытаюсь запустить запланированные задачи вручную:

launchctl start /Users/$USER/Library/LaunchAgents/com.open.comms.apps.plist launchctl start /Users/$USER/Library/LaunchAgents/com.close.comms.apps.plist 

Ничего не произошло.

Может кто-нибудь там (с более чем моим <1 днями опыта работы с apple-script и launchd), пожалуйста, посоветуйте, как заставить это работать?

1

0 ответов на вопрос

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