Como iniciar o programa de inicialização em um horário específico

3

Flux é uma boa aplicação para aqueles que trabalham no período noturno, ele oferece uma temperatura de cor quente durante a noite. Eu gostei de usá-lo com sucesso, link para qualquer pessoa interessada.

As mudanças de temperatura de cor no Flux começaram às 18h, mas em vez de deixar o Flux modificar o monitor do meu computador, prefiro acender as luzes.

Esse comportamento me faz ter que fechar o Flux manualmente, o que é inconveniente.

Existe alguma maneira de tornar o Flux apenas:

  • Lançamento entre as 20:00 e as 03:00
  • Interrompa entre 3:00 e 20:00
por iTux 16.01.2017 / 13:31

2 respostas

4

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!

    
por tobiasBora 16.01.2017 / 14:22
2

Eu gostaria de compartilhar um software alternativo que você pode / deve verificar, redshift (com seu indicador redshift-gtk ) , eu prefiro em fluxo por alguns motivos, foss, seus repos principais, ajuste automático da temperatura de cor com base na hora de local / pôr do sol, configurações manuais fáceis vezes ...) , etc.

Da página do autor:

Você pode simplesmente executar sudo apt install redshift-gtk no seu terminal e, em seguida, iniciá-lo no traço do Unity . Além disso, o indicador (uma lâmpada) tem uma opção para iniciar automaticamente.

Espero que ajude.

UPDATE: Como o @JacobVlijm explicou nos comentários (obrigado por isso) , o lançamento do cronjob parece não ser tão simples como para aplicativos não-GUI, então eu mudei minha resposta para simplesmente mostrar uma solução alternativa de software.

    
por dgonzalez 16.01.2017 / 14:40

Tags