Я использую самоконтроль , чтобы блокировать отвлекающие, и я пытаюсь запустить его ежедневно с помощью утилиты OSX launchd программ с графическим интерфейсом управления Launch. Это вызывает скрипт, который вычисляет количество времени, которое нужно заблокировать, затем запускает Self Control в течение этого времени:

#!/bin/sh
#start Self Control block from Terminal
#see https://github.com/SelfControlApp/selfcontrol/wiki/Running-SelfControl-from-the-Terminal    

#calculate block length in minutes
minutes_to_block=`python timetoblock.py`
#timetoblock prints "-1" if the time is between 5 and 10 pm
if [[ $minutes_to_block -le 0 ]]; then echo "done"; exit 0; fi    

#tell Self Control what the block length is (by modifying its defaults)
defaults write org.eyebeam.SelfControl BlockDuration $minutes_to_block    

#start block
sudo /Applications/SelfControl.app/Contents/MacOS/org.eyebeam.SelfControl $(id -u $(whoami)) --install

Вот экран, который я вижу, когда пытаюсь загрузить / запустить демон в Launch Control.

При наведении курсора на "Ошибка 78" на этом экране он говорит о кодах выхода, поэтому я полагаю, что это связано с "выходом 0" в моем сценарии. Тем не менее, я как бы нуб, так что я не знаю, как еще я мог остановить сценарий. Есть ли другой способ, или проблема в том, как launchd интерпретирует вещи?

1 ответ1

1

Проблема в том, что ваш скрипт не является исполняемым. Я только что выпустил новую версию LaunchControl, которая предоставляет лучшее описание проблемы и кнопку QuickFix, чтобы решить эту проблему.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .