Page 1 sur 1

Xsct, une alternative simple à Redshift

Posté : jeu. 22 janv. 2026 23:14
par Chumi
Bonsoir,

Les lumières bleues de nos écrans sont paraît-il nocives pour notre santé (Effets sur la santé de l’exposition à la lumière bleue). Certains en doutent et prétendent, je l'ai lu, que c'est du pipeau marketing diffusé par les opticiens, mouai... un peu léger peut-être?

Pour Xfce, afin de contrer ces lumières bleues le soir et leur effet néfaste entre autres sur le sommeil (il me semble bien quand même que ça impacte à ce niveau là, ressenti personnel), Redshift est souvent cité et je l'ai d'ailleurs utilisé il y a longtemps (du temps de Gnome 2 je crois).

Sur une configuration toute fraîche de Mint Xfce j'ai donc essayé d'utiliser Redshift ainsi que son interface graphique Redshift-gtk. Le mode graphique est mal intégré à l'environnement de bureau je trouve (l'ampoule rouge se superpose à la barre des tâches), il y a un souci avec Geoclue, il faut rédiger un fichier de configuration... et finalement je me dis que c'est bien compliqué pour ce que je veux faire au final : atténuer les lumières bleues quand j'estime que c'est nécessaire.

J'ai alors cherché une alternative sensiblement équivalente mais plus simple, et j'ai trouvé Xsct (c'est dans la logithèque). C'est un programme très léger qui n'occupe que 34 Ko d'espace disque et qui se manipule en ligne de commande (Redshift de base aussi ceci dit).

Pour l'usage complet voir ici : https://github.com/faf0/sct?tab=readme-ov-file#usage

Avec Xsct on peut par conséquent contrôler la température de couleur mais aussi la luminosité de son écran avec une commande simple du genre :

Code : Tout sélectionner

xsct 4000 0.9
Personnellement je ne m'occupe que de la température de couleur (à savoir le premier paramètre, 4000 dans l'exemple ci-dessus). Je règle la luminosité à la volée sur l'écran de mon PC ou via les touches dédiées sur mon portable.

Il existe cet autre commande qui bascule alternativement entre un mode jour et un mode nuit à chaque invocation :

Code : Tout sélectionner

xsct -t
Pas mal! sauf qu'elle alterne uniquement entre les températures 4500K et 6500K (luminosité unique par défaut : 1).

Si ces valeurs conviennent, alors il est très facile de créer un lanceur avec cette seule commande.

Si elles ne conviennent pas, on peut se faire deux lanceurs avec des valeurs fixes (xsct 4000 et xsct 6500 par exemple) ou mieux peut-être, se créer deux raccourcis clavier personnalisés (Alt+J pour xsct 6500 - Jour; Alt+N pour xsct 4000 - Nuit, par exemple).

Tout ça est très simple non?

Maintenant si on veut un seul lanceur et/ou un seul raccourci clavier alternant entre des valeurs personnalisées, là ça se complique un peu et il faut faire un script. En voici un que j'ai nommé bluelight, que je n'ai pas moi-même inventé (IA :oops: ), mais qui m'enseigne quelques petites choses sur les scripts que je ne pratique pas du tout d'ordinaire :

Code : Tout sélectionner

#!/bin/bash

# Fichier pour stocker l'état entre les lancements
ETAT_FICHIER="$HOME/.xsct_temp_state"

# Définir les deux températures de couleur
TEMP1=4000  # Exemple : 4000K
TEMP2=6500  # Exemple : 6500K

# Lire l'état précédent (s'il existe)
if [ -f "$ETAT_FICHIER" ]; then
    ETAT=$(cat "$ETAT_FICHIER")
else
    ETAT="TEMP1"
fi

# Basculer entre les deux températures
if [ "$ETAT" = "TEMP1" ]; then
    xsct "$TEMP2"
    echo "TEMP2" > "$ETAT_FICHIER"
    echo "Température de couleur définie à $TEMP2 K"
else
    xsct "$TEMP1"
    echo "TEMP1" > "$ETAT_FICHIER"
    echo "Température de couleur définie à $TEMP1 K"
fi
On voit bien à quel niveau on peut modifier les valeurs personnalisées et on notera que ce script génère un fichier caché dans notre répertoire personnel, .xsct_temp_state à supprimer au besoin si le script ne convient pas, ou plus.

Ne pas omettre de rendre ce script exécutable et indiquer le chemin complet vers celui-ci dans le lanceur et/ou dans le raccourci clavier.

Edit 06/02/2026 : le script est l'œuvre d'une IA. Je ne suis pas fier de ça.