Como suprimir a emissão de luz azul da tela via linha de comando
A introdução desta dica é um trecho de uma matéria do site Tua Saúde:
Usar o celular à noite, antes de dormir, pode causar insônia e diminuir a qualidade do sono, e ainda aumenta as chances de depressão ou de pressão alta. Isso acontece porque, a luz emitida pelos aparelhos eletrônicos é azul, o que estimula o cérebro a permanecer mais tempo ativo, afastando o sono e desregulando o ciclo biológico de sono-vigília.
Mas não é só o celular que emite essa luz azulada que prejudica o sono, qualquer tela eletrônica tem esse mesmo efeito, como a TV, o tablet, o computador, e até mesmo as luzes fluorescentes que não são adequadas para dentro de casa. Assim, o ideal é que essas telas não sejam usadas quando estiver deitado na cama para dormir. E essa recomendação é ainda mais importante para quem acorda sempre cansado ou tem problemas para dormir.
Pois bem, nesta dica vou apresentar uma solução via linha de comando para os felizes usuários do sistema operacional GNU/Linux! Trata-se de um simples programa de 80 linhas escrito em C. Para instalá-lo em Debian ou derivados, digite:
sudo apt install sct
Você também pode baixar o source via GitHub com:
git clone https://github.com/mgudemann/sct.git
Leia o README.md caso queira compilar o código.
O programa é usado para ajustar a temperatura de cor da tela no X. A temperatura padrão do sistema operacional é de 6500k, você pode usar o sct para ajustar a temperatura em qualquer valor entre 1000k e 10000k. Temperaturas abaixo de 6500k reduzem a emissão de luz azul e acima aumentam.
Seu uso é extremamente simples:
sct 4500
No meu caso, fiquei bastante confortável com a temperatura em 4500k.
E pra finalizar, você ainda pode agendar a ativação do filtro de luz azul no crontab. Por exemplo, ativar todos os dias às 21h e desativar às 6h:
[3] Comentário enviado por fabio em 22/07/2018 - 02:17h
[2] Comentário enviado por Tio_do_Toldo em 22/07/2018 - 00:55h
Se eu quiser que o programa fique ativo permanentemente, seria mais conveniente fazer isso via systemd ou crontab?
Na inicialização do sistema não irá funcionar porque você precisa executá-lo com uma sessão X aberta. Neste caso eu poria na inicialização de sessão de sua interface gráfica. Verifique como fazer isso em seu gerenciador de janelas.
[4] Comentário enviado por Tio_do_Toldo em 22/07/2018 - 04:45h
[3] Comentário enviado por fabio em 22/07/2018 - 02:17h
Obrigado. Funcionou perfeitamente.
Nos primeiros minutos é bem estranho o "vermelhão" da tela, mas depois você esquece dele. Vamos ver se agora eu perco o sono por ficar muito tempo na frente do PC.
[5] Comentário enviado por pinduvoz em 22/07/2018 - 23:28h
Eu uso um programa chamado redshift para isso.
Ele inicia toda noite e desliga durante o dia, bastando programar a localização da máquina.
Está nos repositórios do Ubuntu e do Debian,
então:
# apt install redshift
[6] Comentário enviado por thserpa em 11/09/2019 - 02:46h
Eu uso o xgamma. Já que é a luz azul a vilã da estória, programei o cron para ir retirando a luz azul gradualmente. Em vez de ficar vermelho vai tudo ficando amarelo e levemente esverdeado. O xgamma só pode retirar um máximo até 0.1 então um pouco de azul vai ficar... na verdade o azul vai ficar verde.
1 - entrei como root na pasta
cd /var/spool/cron/crontabs
achei o arquivo com o meu nome e editei dessa forma...
# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (/tmp/systemsettings.hZkKUO installed on Wed Sep 11 02:24:16 2019)
# (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)
# Arquivo gerado pelo KCron: quarta-feira, 11 de setembro de 2019 02:24:16 -03.
Dá pra fazer isso pela configuração do KDE também, fica ainda mais fácil. Procure por "Agendador de tarefas" e vá adicionando o comando /usr/bin/xgamma -bgamma 0.1 ; exit
Qualquer problema nas cores vc dá o comando
xgamma -gamma 1
e volta tudo ao normal.