Estou usando o autocontrole para bloquear as distrações e estou tentando executá-lo diariamente usando o launchd
utilitário OSX com a GUI do controle de inicialização. Isso chama um script que calcula a quantidade de tempo a ser bloqueada e inicia o Autocontrole por essa quantidade de tempo:
#!/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
Aqui está a tela que vejo quando tento carregar / iniciar o daemon no Launch Control.
Quando passe o mouse sobre o "Erro 78" nessa tela, ele fala sobre códigos de saída, então acho que tem a ver com a "saída 0" do meu script. No entanto, eu sou meio que um bash noob, então não sei de que outra forma poderia parar o script. Existe outra maneira ou o problema de como launchd
interpreta as coisas?
fonte