Como usar o “xrandr --gamma” para o uso do Gnome “Night Light”?

3

Plano de fundo: mais vermelho / menos azul à noite

Para salvar os olhos à noite, adicionar mais vermelho e / ou subtrair azul, está se tornando popular em Windows 10 (filtro de luz azul) e Linux; Gnome Desktop (Luz Noturna) e o Ubuntu Unity Desktop com add-ons como Red Shift ou f.lux .

Eu estou querendo saber como fazer o mesmo com a linha de comando integrada xrandr <monitor> --gamma 1:1:1 do Ubuntu. O 1:1:1 representa a porcentagem de vermelho : verde : azul . Eu presumo 1 = 100%. Não tenho certeza se os pacotes acima adicionam mais vermelho ( 1.2:1:1 ) para ~ 20% de aumento ou redução de azul ( 1:1:0.8 ) para ~ 20% de redução ou ambos para ~ 40% de alteração.

O exemplo do Gnome Night Light não ajuda

De acordo com OMG Ubuntu , dentro do Gnome's Night Light você pode usar esses valores numéricos:

  • 1000 - Valor mais baixo (super quente / vermelho)
  • 4000 - Padrão luz noturna na temperatura
  • 5500 - Temperatura de luz noturna equilibrada
  • 6500 - Padrão luz da noite fora da temperatura
  • 10000 - Maior valor (super legal / azul)

Para testar esses valores numéricos, como eles seriam traduzidos para substituir o padrão --gamma 1:1:1 ?

O que a documentação do xorg diz

A documentação do Xorg não diz muito sobre --gamma controls:

−−gamma red:green:blue

  • Set the specified floating point values as gamma correction on the crtc currently attached to this output. Note that you cannot get two different values for cloned outputs (i.e.: which share the same crtc) and that switching an output to another crtc doesn’t change the crtc gamma corrections at all.

Pontos decimais flutuantes serão úteis porque o script que eu quero atualizar define xbacklight de brilho lentamente uma vez por minuto durante um período de transição de 90 a 120 minutos ao amanhecer e ao anoitecer. Eu quero melhorar o script com o suporte de software xrandr --brightness para monitores externos e monitores internos OLED e xrandr --gamma de suporte para filtros de luz vermelha / luz azul. O Xorg não diz quantas posições decimais são suportadas, mas acho que vou definir bc para 3 ou 4 posições decimais para legibilidade / equilíbrio de precisão.

Resumo

Espero imitar o que os "grandes" da Microsoft e do Gnome estão fazendo com suas técnicas "mais vermelhas" e / ou "menos azuis". Ainda não mergulhei no Wayland, mas as respostas que usam esse sistema também serão apreciadas, já que, sem dúvida, será uma preocupação futura.

Qual ajuste para --gamma 1:1:1 é apropriado para a noite?

    
por WinEunuuchs2Unix 05.02.2018 / 01:43

1 resposta

1

Atualização de 4 de novembro de 2018

Eu escrevi uma coleção de scripts bash para ajustar o brilho e gama gradualmente ao amanhecer e ao anoitecer durante um período de 90 minutos a 120 minutos . A configuração de brilho total é:

xrandr --output DP-1-1 --gamma 1:1:1 --brightness 1.0

A configuração noturna é:

xrandr --output DP-1-1 --gamma 1.1:0.8:0.7 --brightness 0.55

Resposta Original

Finalmente encontrei uma resposta: MAIS DE EXPOSIÇÃO DE XRANDR OU LUZ AZUL Este script é apresentado:

#!/bin/sh 

night_mode() { 
  for disp in $(xrandr | sed -n 's/^\([^ ]*\).*\<connected>.*//p'); do 
    xrandr --output $disp --gamma $1 --brightness $2 
  done } 
case $1 in 
  off) night_mode 1:1:1 1.0 ;; 
  *) night_mode 1:1:0.5 0.7 ;;
esac

O script reduz o componente de luz azul e o brilho de todos os monitores Xorg conectados. Basta salvá-lo no diretório bin , chmod +x e, se desejar, adicionar um atalho cron ou um atalho de teclado para chamar a função.

Como funciona? Basta digitar o nome do script sem parâmetros para reduzir a luz azul. Para retornar à configuração normal, adicione o parâmetro off após o comando.

    
por WinEunuuchs2Unix 01.08.2018 / 06:12