5 votes

Utiliser un terminal pour avoir xflux à une température spécifique en tout temps

Je suis en train d'essayer de configurer mon xflux pour avoir la température de l'écran à 3200 à tout moment, cependant il semble seulement le configurer pour la nuit.

Voici la commande que j'ai entrée : ./xflux -l 52.5, -g -1.886 -k 3200

Cela ne le configure que pour la nuit, y a-t-il un moyen de le faire fonctionner tout le temps ?

5voto

dessert Points 36815

xflux - car c'est ce que vous demandez

xflux fonctionne de cette manière et ne propose pas d'option pour changer son comportement, vous lui donnez votre emplacement et il utilisera celui-ci ainsi que l'heure de votre système pour déterminer quand il devrait changer la couleur, basé sur le lever et le coucher du soleil à l'emplacement choisi. Nous ne voulons certainement pas manipuler l'heure du système, mais que diriez-vous de simplement faire croire à l'heure (sudo apt install faketime)?

faketime 20 xflux -l 52.5, -g -1.886 -k 3200

démarrera xflux comme s'il était huit heures. faketime a une fonctionnalité “geler l'horloge à un moment donné absolu”, mais malheureusement je n'ai pas réussi à le faire fonctionner avec xflux. Je vous suggère d'utiliser plutôt l'utilitaire GNU coreutil timeout:

timeout -k0 8h faketime 20 xflux -l 52.5, -g -1.886 -k 3200 -nofork

Cela démarrera xflux comme s'il était huit heures et le killera instantanément (0) après 8 heures. Pour que timeout fonctionne, il est nécessaire de démarrer xflux avec l'option -nofork. Pour xflux il est quatre heures du matin alors, donc si vous ne vivez pas quelque part où le soleil se lève plus tôt, cela devrait maintenir la température de couleur spécifiée pendant toute la durée d'exécution. Bien sûr, vous pouvez changer l'emplacement et/ou le faketime pour un endroit et une heure qui correspondent exactement à vos besoins. Pour automatiser le processus, configurez une tâche cron avec crontab -e comme ceci:

0 */8 * * * DISPLAY=:0 timeout -k0 8h faketime 20 xflux -l 52.5, -g -1.886 -k 3200 -nofork

Cela exécutera la commande une fois toutes les huit heures. Comme timeout le tue également après huit heures, cela garantit une température de couleur constante toute la journée – malheureusement avec un bref flash toutes les huit heures que je n'ai pas réussi à éliminer.

Il existe une interface graphique dans la barre d'état système appelée fluxgui · Github disponible via ce PPA.

redshift – car il offre une solution beaucoup plus simple à votre problème

Il existe des alternatives comme redshift (sudo apt install redshift) qui vous permettent de définir manuellement la température de couleur :

redshift -O 3200

Ceci restera en vigueur jusqu'à ce que vous le désactiviez avec redshift -x. Le paquet redshift-gtk (sudo apt install redshift-gtk) fournit une icône dans la barre d'état qui vous permet de l'éteindre d'un simple clic de souris.

2voto

Audiofumes Points 21

Je soutiens la solution Redshift...mais si vous voulez vraiment rester avec xflux, au lieu de le tromper avec l'heure, vous pouvez le tromper avec l'emplacement. Il vous suffit de choisir un endroit opposé au vôtre - un endroit qui est nocturne alors que votre emplacement réel est en journée.

1voto

eMPee584 Points 176

Au lieu d'appliquer de force un outil inadapté, utilisez sct. Comme dans sct 3200 (disponible depuis mai 2016)

 Description : Définir la température de couleur de l'écran
  sct est un petit programme en C pour changer la température de couleur de l'écran.
  Il peut être utilisé pour réduire ou augmenter la quantité de lumière bleue produite
  par l'écran.
  .
  sct définit la température de couleur de l'écran via xrandr comme redshift.
  Contrairement à redshift, il ne fait que 80 lignes de C et ne changera pas
  automatiquement la température de l'écran.

https://github.com/Tookmund/setcolortemperature

0voto

Ignorer les intermédiaires, aller directement à la source.

J'utilise :

xrandr --output HDMI2 --gamma 1.00000000:0.88267187:0.76921169 --brightness 0.8

Au lieu d'essayer de falsifier l'heure ou l'emplacement, ou d'installer plus d'applications, je pense que c'est une solution beaucoup plus directe.


Redshift et xfluxh ont interféré avec mes paramètres de luminosité personnalisés et continuaient de le régler à 0.9 ! J'ai donc dû m'en débarrasser. J'ai ensuite écrit un petit script PyQt (icône de la barre d'état système avec mon menu de préréglages, etc) qui utilise xrandr, et je suis content depuis.

En écrivant cette réponse pour l'expliquer complètement, j'ai réalisé qu'il y avait déjà une réponse détaillée écrite, qui inclut des triplets RGB possibles et des réglages de luminosité :

Comment utiliser "xrandr --gamma" pour une utilisation similaire à "Night Light" de Gnome ?

PS trouver le nom de votre affichage :

xrandr --listactivemonitors

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X