Primeiro passo: crie o script
Primeiramente vamos criar um script que será executado e permitiria / desativaria o fluxo dependendo do tempo (eu não faço o nó da sintaxe do fluxo, então adapte-o para a sua necessidade). Você pode notar que aqui eu suponho que você precisa ser root para executar o fluxo, mas é claro se você não executar essas etapas apenas como um usuário clássico.
sudo mkdir -p /opt/flux/
sudo gedit /opt/flux/toogleFlux.sh
e coloque algo parecido com isso
#!/usr/bin/env bash
h=$(date +%H)
start=20
stop=3
export DISPLAY=:0
if [ $h -ge $start ] || [ $h -lt $stop ] ; then
# Start flux, give it any information you want, latitude...
xflux -l 45
else
# Stop flux
killall xflux
fi
Em seguida, torne-o executável:
sudo chmod +x /opt/flux/toogleFlux.sh
Segunda etapa: execute quando necessário
Agora, você precisa executá-lo quando necessário. Para isso, você pode usar um cron
que o executaria às 20h05 e às 03h05. Mas se você fizer isso, se você abrir seu computador às 20h10, ele não funcionará. A primeira solução é usar fcron
, mas não acho que seja empacotado em distribuições, então vou usar uma combinação de cron
e um arquivo que é executado quando você abre uma sessão.
Para executar este script com cron, execute o seguinte comando. Se você precisar executá-lo como root, adicione sudo
antes:
crontab -e
e digite:
05 20 * * * /opt/flux/toogleFlux.sh
05 3 * * * /opt/flux/toogleFlux.sh
agora, você precisa ter certeza de que o script será executado quando você abrir sua sessão. Dependendo da sua GUI, você pode configurá-lo nas configurações do sistema ou, às vezes, colocar essa linha em .profile
será suficiente (o comando xhost
é útil para permitir que o usuário root se conecte à interface gráfica):
xhost +local:
/opt/flux/toogleFlux.sh
Agora, execute toogleFlux.sh
para ativá-lo para a sessão atual:
xhost +local:
/opt/flux/toogleFlux.sh
e divirta-se!