Пытаясь запустить блок 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, чтобы решить эту проблему.