Configuração do Redshift - como definir horas de transição fixas?

4

É possível configurar o Redshift para que a cor da tela mude em horários fixos, independentemente da posição real do Sol? Estou usando o Redshift 1.10-5ubuntu1 no Ubuntu 16.04 e no GNOME.

    
por Rtoip 03.01.2018 / 12:36

1 resposta

3

Redshift não oferece uma opção para definir o dia e a noite.

O que eu fiz foi configurar uma tarefa Cron para definir a temperatura de cor a cada x minutos, de acordo com a hora.

O comando que eu uso:

redshift -O TEMPERATURE

defina a temperatura em TEMPERATURE apenas uma vez (o Redshift não será executado em segundo plano para calcular se ele altera a temperatura o tempo todo).

Como definir a tarefa Cron

  1. Se você não souber como usar o Vim (se você puder pular este passo), abra um terminal ( Ctrl + Alt + T ) e altere o editor padrão executando

    echo "export EDITOR=nano" >>  ~/.bashrc
    

    Agora feche seu terminal para se inscrever.

  2. Abra um novo terminal e execute

    crontab -e
    

    para editar sua tabela de tarefas Cron.

  3. Vá até o final do arquivo e adicione as seguintes linhas:

    */5 17-7 * * * DISPLAY=:0 redshift -O NIGHT_TEMP >> /home/USER/cron.log 2>&1
    */5 8-16 * * * DISPLAY=:0 redshift -O DAY_TEMP >> /home/USER/cron.log 2>&1
    
    • */5 é o intervalo em minutos (cada minuto que pode ser dividido por 5)
    • 17-7 e 8-16 são o intervalo de horas (todas as horas entre as 17h e as 7h da noite e entre as 8h e as 16h do dia)
    • * * * é a data (portanto, a cada dia [do mês], a cada mês e a cada dia da semana ).

    Assim, no meu exemplo, o primeiro comando (noturno) é executado a cada 5 minutos (0, 5, ..., 55) entre 17:00 e 7:59 todos os dias, e o segundo comando (para dia tempo) a cada 5 minutos entre 8:00 e 16:59.

    Os comandos que seguem são o que é executado na hora especificada (anteriormente):

    • DISPLAY=:0 é para executar o comando em um display (caso contrário, ele está em segundo plano, o que é inútil no nosso caso). Não altere a menos que esteja usando um monitor externo, na maioria das vezes a porta de exibição padrão é :0 .
    • redshift -O TEMPERATURE é o comando que vimos acima, é claro altere DAY_TEMP e NIGHT_TEMP para as temperaturas desejadas para o dia e para a noite.
    • >> /home/USER/cron.log 2>&1 redireciona as mensagens (de erro) para /home/USER/cron.log (que pode ser útil se sua exibição NÃO estiver em :0 ). Altere /home/USER para o seu diretório pessoal.
  4. Saia do seu editor: se você fez o passo 1. , pressione Ctrl + X e então Y e finalmente Enter .

Não se esqueça de remover o Redshift de aplicativos de inicialização.

Agora você terminou.

Alguns efeitos colaterais são: você não terá uma GUI para suspender o Redshift ou desativá-lo; haverá sem transições (mudará diretamente de DAY_TEMP para NIGHT_TEMP ) e isso pode ser surpreendente, se não desagradável ...

    
por N. Cornet 03.01.2018 / 14:15

Tags