%
Puffy image/svg+xml Puffy 2019-06-14 Stéphane HUC OpenBSD Team Inkscape Puffy OpenBSD https://www.openbsd.org/art4.html English "Puffy", it's a symbol of OpenBSD

OpenBSD : Utiliser Redshift pour ajuster automatiquement la température de couleurs

Article publié, le et modifié le
7 minutes de lecture

Cet article contient 1360 mots.
Source brute de l'article :
Commit version : 8aba40c

Description

Redshift est un utilitaire système qui paramètre la température des couleurs de votre écran selon l’heure du jour, et de votre position géographique. Le but de cet outil est de vous aider à moins fatiguer vos yeux, la nuit, et à réduire les risques liés au syndrome de retard de phase de sommeil, lors de votre vision informatique en soirée.

La température de couleur est paramétrée en fonction de la position du soleil. La température de couleur est réglée différemment selon le jour ou la nuit. Durant le crépuscule, et au petit matin, la température de couleur varie doucement de la nuit vers la température de jour en permettant à vos yeux de s’adapter lentement sur une période d’une heure environ. La nuit, la couleur de température devrait être paramétrée pour correspondre avec celles de vos lampes. C’est typiquement une basse température autour de 3000-4000K (par défaut est 3700K) . Durant la journée, la température de couleur doit correspondre avec celle de la lumière du jour, de fait entre 5500-6500K (par défaut est de 5500K). La lumière a une température plus haute par temps nuageux.

La température neutre est de 6500K. Utiliser cette valeur ne change pas la température de votre écran. Régler sur une valeur plus importante définira une lumière tirant vers le bleu ; définir une valeur plus bas se traduira par une lumière plus rouge.

Voici les valeurs par défaut de température : Jour: 5500K, Nuit: 3700K

Installation

Installez le paquet redshift .

Synopsis

redshift [-l LAT:LON | -l PROVIDER:OPTIONS] [-t DAY:NIGHT] [OPTIONS…]

Configuration

Placez votre fichier de configuration personnelle dans ~/.config/redshift.conf. C’est un simple fichier au standard INI.

Voici sa configuration de base :

[redshift]
temp-day=5500
temp-night=3700
gamma=0.8
adjustment-method=randr
location-provider=manual

[manual]
lat=44.1333
lon=0.35

Définir les températures

Température jour

L’option temp-day doit être un entier allant de 6500 à 5500.

Température nuit

L’option temp-night doit être un entier allant de 4000 à 3000.

Manuellement

Vous pouvez définir manuellement une température en utilisant redshift, tel que : $ redshift -O TEMP TEMP est un entier, à moduler selon la température de période jour ou nuit désirée. (cf ci-dessous pour les températures de jour et de nuit).

Les températures de jour et de nuit peuvent aussi être gérées manuellement, par l’usage de redshift, tel que : $ redshift -t JOUR/NUIT JOUR correspond à la température de jour, et NUIT respectivement à celle de nuit.

Définir le gamma

Permet d’ajuster le mode gamma, soit de manière globale pour les deux périodes de jour et de nuit, soit spécifique à l’une ou l’autre. Ce sont des valeurs de type RGB qui sont utilisées, tel que R:G:B.

Gamma global

Ajuste le mode gamma pour les deux périodes : gamma = R:G:B

Gamma jour

Ajuste le mode gamma juste pour la période jour : gamma-day = R:G:B

Gamma nuit

Ajuste le mode gamma juste pour la période nuit : gamma-night = R:G:B

Manuellement

Le mode gamma global peut aussi être géré manuellement, en utilisant redshift, tel que : $ redshift -g R:G:B R:G:B sont bel et bien les valeurs de couleurs en mode RGB.

Définir la méthode d’ajustement

C’est le méthode utilisée pour régler la température des couleurs. La plus commune semble être randr.

Ajustez l’option adjustment-method = nom.

Pour connaître le nom des différentes méthodes possibles, utilisez l’outil redshift, tel que :

$ redshift -m list
Méthodes d'ajustement disponibles :
  drm
  randr
  vidmode
  dummy

Spécifiez les options séparées par des deux-points en tant que « -m MÉTHODE:OPTIONS ».
Essayez « -m MÉTHODE:help » pour obtenir de l'aide.

Définir la latitude/longitude

Il y a deux moyens de définir vos coordonnées latitude et longitude, toutes deux gérées par l’option location-provider.

Pour connaître les différents fournisseurs de location supportés par redshift, utilisez-le tel que :

Code : shell

$ redshift -l list 
Fournisseurs de localisation disponibles :
  geoclue2
  manual

Spécifiez les options séparées par des deux-points en tant que « -l FOURNISSEUR:OPTIONS ».
Essayez « -l FOURNISSEUR:help » pour obtenir de l'aide.
$ redshift -l list 
Fournisseurs de localisation disponibles :
  geoclue2
  manual

Spécifiez les options séparées par des deux-points en tant que « -l FOURNISSEUR:OPTIONS ».
Essayez « -l FOURNISSEUR:help » pour obtenir de l'aide.

Automatiquement

Le fournisseur geoclue est un mode de mise-à-jour automatique de vos coordonnées.

Vous pouvez utiliser le fournisseur geoclue, tel que, par exemple : $ redshift -l geoclue2 -t 5500:3700 -b 1.0:0.8

Dans votre fichier de configuration, changez la valeur de location-provider par geoclue2.

Manuellement

Pour connaître la latitude, longitude de votre ville, faites une recherche par le biais d’un moteur de recherche, en tapant latitude longitude ville pays

Dans votre fichier de configuration, changez la valeur de location-provider par manual. C’est le mode par défaut.

Puis dans la section [manual], définissez les valeurs lat et lon par les valeurs respectives de latitude et de longitude.

Définir la transition

Il est possible d’activer un effet de transition lors de la bascule entre les deux périodes de jour et de nuit. C’est l’option transition qui le gère et doit être un entier de type binaire, strictement, soit 0, soit 1.

Définir la luminosité

Il est possible de gérer la luminosité de l’écran, soit pour la période jour, soit pour la période nuit. Ce sont des valeurs strictement décimales à utiliser qui vont de 0.1 à 1.0.

Luminosité jour

Ajuste la luminosité de l’écran pour la journée : brightness-day = value

Luminosité nuit

Ajuste la luminosité de l’écran pour la nuit : brightness-night = value

Définir le point d’élévation solaire

Le point d’élévation solaire définit le point de transition entre les deux périodes de jour et de nuit.

Le point d’élévation solaire se définit soit pour le jour, soit pour la nuit. C’est une valeur décimale à utiliser.

Élévation jour

Ajuste le point d’élévation solaire pour le jour : elevation-high = decimal

Élévation nuit

Ajuste le point d’élévation solaire pour la nuit : elevation-low = decimal

Manpage

Pour les différentes options de configuration, veuillez lire la page de manuel de redshift(1), accessible seulement sur votre système : man redshift

Voici une copie écran minimaliste de la version disponible dans OpenBSD 6.1 :

OPTIONS
       -h     Display this help message

       -v     Verbose output

       -V     Show program version

       -b DAY:NIGHT
              Screen brightness to apply (between 0.1 and 1.0)

       -c FILE
              Load settings from specified configuration file

       -g R:G:B
              Additional gamma correction to apply

       -l LAT:LON
              Your current location, in degrees, given as floating point
              numbers, towards north and east, with negative numbers
              representing south and west, respectively.

       -l PROVIDER[:OPTIONS]
              Select provider for automatic location updates (Use `-l list' to
              see available providers)

       -m METHOD[:OPTIONS]
              Method to use to set color temperature (Use `-m list' to see
              available methods)

       -o     One shot mode (do not continuously adjust color temperature)

       -O TEMP
              One shot manual mode (set color temperature)

       -p     Print mode (only print parameters and exit)

       -x     Reset mode (remove adjustment from screen)

       -r     Disable temperature transitions

       -t DAY:NIGHT
              Color temperature to set at daytime/night

       The neutral temperature is 6500K. Using this value will not change the
       color temperature of the display. Setting the color temperature to a
       value higher than this results in more blue light, and setting a lower
       value will result in more red light.

       Default temperature values:

              Daytime: 5500K, night: 3700K

Utilisation

En mode console

Il est possible de l’exécuter directement en mode console, tel que :

$ redshift -l 44.1333:0.35 -t 5700:3600 -g 0.8 -m randr -v &

Exécution en mode graphique

Allez dans le menu “Applications” > “Accessoires”.

Lancement automatique

Éxecutez le binaire redshit-gtk :

$ /usr/local/bin/redshift-gtk

L’icône s’affichera dans le systray. Faites un clic droit et choisissez de cocher “Lancement automatique”.

Sinon, modifiez les paramètres systèmes, tel que “Session et démarrage” pour XFCE, puis l’onglet “Démarrage automatique d’application”, pour ajouter une application.

Dans le champ nommé “commande”, écrivez redshift-gtk ou le chemin absolu vers le binaire /usr/local/bin/redshift-gtk.

Quand vous serez dans votre session graphique, vous aurez le logiciel qui fonctionnera en tâche de fond, et l’icône “redshift” dans le systray.

Bogues connus

Redshift n’affecte pas la température de couleur si votre pilote graphique est configuré pour utiliser matériellement votre curseur.

Quelques pilotes logiciels graphiques ont l’option pour désactiver matériellement le curseur dans le fichier xorg.conf.