Пытаясь запустить блок Self Control в качестве демона launchd, получите "Ошибка 78" в Launch Control

Я использую Self Control, чтобы блокировать отвлечения, и я пытаюсь запустить его ежедневно с использованием OSX launchd утилита с графическим интерфейсом Launch Control. Это вызывает скрипт, который вычисляет количество времени, которое нужно заблокировать, а затем запускает 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 ответ

Решение

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

Другие вопросы по тегам