--- categories: ['OpenBSD','Système','Divers'] date: 2017-08-20T21:50:17+02:00 description: "Utiliser le logiciel Redshift sous OpenBSD - filtre lumineux selon horaire de journée ; ajustement automatique de la température de couleurs de l'écran ; rien que pour soulager vos yeux…" draft: false tags: ['OpenBSD','redshift','température','couleur'] title: "OpenBSD : Utiliser Redshift pour ajuster automatiquement la température de couleurs" translationKey: 'openbsd-redshift' --- ## 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 {{< inside2 l="sys/openbsd/pkg" t="Installez" a="installer" >}} 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 : ```ini [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`
où `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`
où `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`
où `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 : ```sh $ 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 "sys-openbsd-redshift-list-lat-lon" shell >}} ```sh $ 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 : ```sh 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. ---