Ir al contenido principal

Modificar la Temperatura del Screen en Linux


Muchas veces trabajando en nuestro ordenador, llegamos a un punto en que nuestra vista se llega a cansar  y aunque usemos lentes (con protección) es inevitable que el brillo del Screen en ocasiones altera nuestra vista, más si estamos leyendo un pdf's por ejemplo. Bien pues espero esta sea un alternativa ante dicha problematica.

Estrenando el sitio con este post, veremos cómo cambiar la temperatura de nuestro monitor en un sistema Unix, sea Kernel Linux o un sistema FreeBSD, y posiblemente en MAC, utilizando un pequeñito programa escrito en lenguaje C por Ted Unangst tedu(@rroba)openbsd.org.  

Se  llama SCT :: Screen Color Temperature.

-  Instalarlo facilmente en sistemas Debian:

sudo aptitude install sct

 - Desde el source en Github:


Ya instalado, sólo hay que ejecutar el comando correspondiente:

sct <nivel de temperatura>

Wikipedia nos ilustra los  niveles de temperaturas que existen:
https://en.wikipedia.org/wiki/Color_temperature#Categorizing_different_lighting
También podemos consultar el manualde SCT, usando el comando:
man sct
 Automatizando SCT.
 ¡Listo! , aunque aún podemos hacer mas: por lo regular nuestra vista se llega cansar durante la noche o se da el caso en que queremos programar automáticamente el protector de ojos. Por ejemplo durante el día podemos usar nuestra PC  como de costumbre, pero en la noche deseamos que automáticamente se active SCT, para olvidarnos de ejecutar el comando. Pues bien, esto podemos hacerlo utilizando CRONTAB, un gestor de tablas que utiliza el demonio CRON, quien automatiza procesos del sistema. En la referencia encontrarás más información sobre ambos. 

Simplemente debemos  agendar la automatización de un comando que deseemos, tecleando en nuestra termina lo siguiente: 

crontab -e

Utilizando algún editor como nano, etc, se editará/creará el archivo "/tmp/crontab.Vtfdev", en el cual vamos a programar una tarea nueva, en este caso el comando: sct <nivel de temperatura>. Así que al final del archivo agregamos la siguiente linea:

* 0-6,18-23 * * * export DISPLAY=:0;sct 3000;

- Los rangos 0-6,18-23 corresponden a la configuración de la hora. En este caso el primer rango  0-6 indica al sistema que el programa debe ejecutar el comando entre las 12hrs y 6hrs, mientras que otro rango 18-23, le dice al sistema que debe ejecutarlo entre las 18hrs y las 23 hrs.  Los asteriscos  representan  las otras configuraciones como los minutos, días, etc. A grandes rasgos CRONTAB requiere de expresiones regulares, por ejemplo: un * simboliza un 'cualquiera', es decir el programa se ejecutará en esas horas programadas, sin embargo a cualquier día, mes y año.

Aunque el mismo archivo que estamos editando nos indica cómo podemos automatizar tareas, aquí está otro ejemplo:


Chuleta CRONTAB
Ahora sólo guardamos  y así el demonio CRON ejecutará el  SCT por nosotros.

Más detalles sobre CRONTAB & CRON:
https://debian-handbook.info/browse/es-ES/stable/sect.task-scheduling-cron-atd.html 

Sobre el comando export DISPLAY:

Es requerido debido a que nuestro comando se ejecuta en bash y afecta en modo visual. http://www2.iib.uam.es/bioinfo/curso/perl/so/exportdisplay.htm



Comentarios