Installer et configurer Redshift sous Archlinux et autres…

Salut à tous,

J’avais envie de faire un petit billet pour expliquer l’installation de Redshift sous Archlinux, ceci et valable aussi pour d’autres distributions, peut être que le nom des paquets à installés peut différer, à voir a faisant une recherche de paquet sur votre distrib.

Tout d’abord, Redshift permet de modifier la colorimétrie de votre écran, en fonction votre de votre lieu géographique et de l’heure de la journée.

Cela permet d’atténuer la fatigue visuelle, car si on a une fatigue visuelle importante au cours de la journée, cela impacte aussi notre sommeil.

Il utilise la position GPS de là où on se trouve pour ajuster la température de couleur de l’écran, en fonction de la position du soleil dans le ciel et adapte l’écran la nuit en prenant en compte de l’utilisation de lumières artificielles.

Sous Archlinux on installe les paquets suivants :

sudo pacman -S redshift python-xdg

Comme environnement graphique j’utilise Xfce, le paquet python-xdg est nécessaire au fonctionnement de redshift-gtk, un applet qui se positionne sur la barre des tâches, qui permet d’avoir des infos et d’activer ou de désactiver Redshift.

Si vous utilisez KDE, vous aurez besoin en plus du paquet  plasma5-applets-redshift-control-git dispo sur AUR.

A noter que Redshift ne fonctionne pas encore sous Wayland.

Ensuite, il faut créer le fichier de configuration ~/.config/redshift.conf

; Global settings for redshift
[redshift]
; Set the day and night screen temperatures (Neutral is 6500K)
temp-day=5700
temp-night=3500

; Enable/Disable a smooth transition between day and night
; 0 will cause a direct change from day to night screen temperature.
; 1 will gradually increase or decrease the screen temperature.
transition=1

; Set the screen brightness. Default is 1.0.
;brightness=0.9
; It is also possible to use different settings for day and night
; since version 1.8.
;brightness-day=0.7
;brightness-night=0.4
; Set the screen gamma (for all colors, or each color channel
; individually)
gamma=0.8
;gamma=0.8:0.7:0.8
; This can also be set individually for day and night since
; version 1.10.
;gamma-day=0.8:0.7:0.8
;gamma-night=0.6

; Set the location-provider: 'geoclue2' or 'manual'
; type 'redshift -l list' to see possible values.
; The location provider settings are in a different section.
location-provider=manual

; Set the adjustment-method: 'randr', 'vidmode'
; type 'redshift -m list' to see all possible values.
; 'randr' is the preferred method, 'vidmode' is an older API.
; but works in some cases when 'randr' does not.
; The adjustment method settings are in a different section.
adjustment-method=randr

; Configuration of the location-provider:
; type 'redshift -l PROVIDER:help' to see the settings.
; ex: 'redshift -l manual:help'
; Keep in mind that longitudes west of Greenwich (e.g. the Americas)
; are negative numbers.
[manual]
lat=foo
lon=bar

; Configuration of the adjustment-method
; type 'redshift -m METHOD:help' to see the settings.
; ex: 'redshift -m randr:help'
; In this example, randr is configured to adjust screen 1.
; Note that the numbering starts from 0, so this is actually the
; second screen. If this option is not specified, Redshift will try
; to adjust _all_ screens.
[randr]
screen=0

Il suffit donc de renseigner ses coordonnées GPS, latitude et longitude dans lat= et lon=

Vérifier aussi le numéro de son écran, chez moi c’est 0 donc screen=0

On peut avoir cette information avec la commande :

xrandr

Screen 0: minimum 8 x 8, current 2560 x 1080, maximum 32767 x 32767

Donc mettre le numéro correspondant chez vous

Ensuite il suffit juste de démarrer les services redshift et redshift-gtk en espace utilisateur avec systemd :

systemctl --user start redshift.service
systemctl --user start redshift-gtk.service

Et pour l’activer au démarrage :

systemctl --user enable redshift.service
systemctl --user enable redshift-gtk.service

Voilà, c’est tout, la configuration est vraiment facile, pour plus d’informations ou pour des spécificités par rapport à votre environnement de bureau, faites un tour sur le wiki de Archlinux :

https://wiki.archlinux.org/index.php/redshift

Faire alterné le fond d’écran sous Gnome Shell

Bonjour,

J’aime bien Gnome Shell, car on peut le piloté pratiquement tout au clavier, l’interface est très épuré, mais il y avais quelque chose qui me manquait, c’était de pouvoir changé de fond d’écran aléatoirement, toutes les 30 minutes par exemple.

Cette fonctionnalité est présente nativement sous Xfce ou KDE par exemple, meme sous i3, en exécutant feh au démarrage de la session i3 (cf. mon billet sur i3).

Malheureusement, elle est pas présente dans Gnome Shell, soit on peut installer des logiciels comme Variety ou Wallch, mais je les trouve trop ‘usine à gaz’ et franchement, installer un logiciel avec des librairies, des dépendances, juste pour changer le fond d’écran, c’est sortie l’artillerie lourde pour rien.

Au début, j’utilisais l’extension Gnome Shell BackSlide, mais après une mise a jour de Gnome, de la 3.16 à la 3.18 si je me souvient bien, elle n’etait plus compatible, donc je l’ai supprimer, je sais pas si son auteur à fait une mise a jour depuis, je ne l’utilise plus.

Du coup, j’ai crée un script qui se charge de changer le fond d’écran, et une unité systemd couplé avec un timer. Cela est compatible avec les versions les plus récente de Gnome 3, la 3.20 et la 3.22.

Continuer la lecture de « Faire alterné le fond d’écran sous Gnome Shell »

Configuration de i3wm

Salut a tous,

Étant possesseur d’un petit netbook Toshiba NB505, j’ai décidé de lui installer une Debian, avec i3, qui est un Tiling Window Manager.
Autant dire que ce n’est pas un foudre de guerre, mais je l’ai acheté pour pas trop cher, lors d’un voyage en asie, en 2011, mais le processeur Atom, qui est embarqué, n’est pas très performant et il n’y a que 1Gio de Ram.

Donc il faut quelque chose de léger, précédemment j’avais une fedora avec xfce dessus, ça tournait de façon honorable, mais dès que j’avais plusieurs applications et firefox avec plusieurs onglets ouverts en même temps, c’était presque inutilisable.

Du coup je me suis décidé de passer sur une Debian 8 stable, car c’est un ordi que je n’utilise pas très souvent, donc c’est pour éviter d’avoir beaucoup de mises à jour, à faire, chaque fois que je veux l’utiliser, j’ai installé juste la base, ensuite au reboot j’ai installé xorg et i3.
Concernant i3, je me suis basé sur la doc de Debian qui préconise d’installer les metas-paquets i3 et suckless-tools
i3, a l’avantage, que l’installation de base est utilisable out of the box, mais j’ai rajouté quelques raccourcis clavier et modifié la barre de statut, que l’ont appelle l’i3bar.

Voici déjà ce que donne i3 sur mon netbook:

Je vais montrer et expliquer juste les modifications que j’ai apportées dans le fichier de conf de base, on commence par l’i3bar.

  • Configuration de i3bar

Le fichier de conf de base de l’i3bar, i3status.conf, se trouve par défauts dans /etc/i3status.conf, en premier je l’ai copié dans mon J’ai changer interval à 3, la valeur par défauts est de 5, interval est le temps en seconde où les informations de la barre vont se rafraîchir, ici donc, j’ai mis 3 secondes.
J’ai changé aussi les couleurs, color_good du bleu à la place du vert, color_degarded du gris à la place du jaune, color_bad du rouge plus foncé à la place du rouge clair.

Voici la suite du fichier i3status.conf, pour l’ordre des infos qui s’affichent sur la barre:~/.i3/
Ensuite, j’ai modifié en premier la partie general du fichier:

general {
 colors = true
 interval = 3
 output_format = i3bar
 color_good = "#2267a5"
 color_degraded = "#8c7f22"
 color_bad = "#be2422"
 }

J’ai changer interval à 3, la valeur par défauts est de 5, interval est le temps en seconde où les informations de la barre vont se rafraîchir, ici donc, j’ai mis 3 secondes.
J’ai changé aussi les couleurs, color_good du bleu à la place du vert, color_degarded du gris à la place du jaune, color_bad du rouge plus foncé à la place du rouge clair.

Voici la suite du fichier i3status.conf, pour l’ordre des infos qui s’affichent sur la barre:

order += "disk /"
 order += "disk /home"
 order += "run_watch DHCP"
 order += "run_watch VPN"
 order += "wireless wlan0"
 order += "ethernet eth0"
 order += "battery 0"
 order += "cpu_usage"
 order += "mem_usage"
 order += "tztime local"
 order += "volume master"

wireless wlan0 {
 format_up = "Wifi: (%quality at %essid) %ip"
 format_down = "Wifi: down"
 }

ethernet eth0 {
 # if you use %speed, i3status requires root privileges
 format_up = "Eth: %ip (%speed)"
 format_down = "Eth: down"
 }

battery 0 {
 format = "%status %percentage"
 integer_battery_capacity = true
 path="/sys/class/power_supply/BAT1/uevent"
 }

run_watch DHCP {
 pidfile = "/var/run/dhclient*.pid"
 }

run_watch VPN {
 pidfile = "/var/run/vpnc/pid"
 }

tztime local {
 format = "%d-%m %H:%M"
 }

cpu_usage {
 format = "CPU:%usage"
 }

disk "/" {
 format = "%avail"
 }

disk "/home" {
 format = "%avail"
 }

volume master {
 format = "♪:%volume"
 device = "default"
 mixer = "Master"
 mixer_idx = 0
 }

J’ai ajouté l’affichage de l’espace disponible sur ma partition /home avec

order += "disk /home"

Pour la batterie, j’ai rajouté l’option

integer_battery_capacity = true

pour qu’il n’y ait que des chiffres rond qui s’affiche et non pas des chiffres à virgules, comme dans la conf de base, puis il a fallu que je lui indique ou était les paramètres de ma batterie, dans le chemin suivant

path="/sys/class/power_supply/BAT1/uevent"

J’ai modifié tztime local pour qu’il n’affiche que le jour puis le mois et l’heure et les minutes avec

format = "%d-%m %H:%M"

Puis j’ai rajouter un indicateur de volume en déclarant

order += "volume master"

puis dans la configuration:

volume master {
 format = "♪:%volume"
 device = "default"
 mixer = "Master"
 mixer_idx = 0
 }

On verra ensuite comment contrôler le son, avec les touches du clavier.

  • Configuration générale de i3

Ont va passer maintenant a la configuration globale de i3 avec le fichier config qui se trouve dans ~/.i3/config
Comme pour le fichier i3status.conf je vais juste détailler les modifications que j’ai faites au fichier par défauts.

Créer un raccourcis clavier pour prendre une capture d’écran:

# take a screenshot
 bindsym $mod+Shift+s exec scrot

J’utilise scrot pour prendre une capture d’écran, qui s’enregistre directement dans mon /home

Contrôler le volume avec les touches du clavier:

# volume control
 bindsym XF86AudioLowerVolume exec /usr/bin/pactl set-sink-volume 0 -- '-5%'
 bindsym XF86AudioRaiseVolume exec /usr/bin/pactl set-sink-volume 0 -- '+5%'

Sur cet ordi je contrôle le volume avec les touches fn+3 pour baissé et fn+4 pour augmenté, chaque fois le contrôle de volume se fait de +/- 5%

Afficher l’applet NetworkManager dans l’i3bar
Dans le fichier config, on peut indiquer d’exécuter des programmes au démarrage, donc, à la fin du fichier config, j’ai rajouté l’exécution de l’applet de NetworkManager, nm-applet:

#autostart programs
 exec --no-startup-id nm-applet

Afficher un fond d’écran:
A la base, il n’y a pas de fond d’écran sur i3, on a juste un fond noir, j’ai installé feh, qui permet d’afficher des images et je l’exécute aussi au démarrage:

exec --no-startup-id feh --randomize --bg-fill ~/Wallpaper

Soit on utilise une seule image, donc ont lui indique le chemin vers cette image, moi j’ai préféré faire autrement.
J’ai ajouté l’option

--randomize

qui permet de prendre une image de manière aléatoire, puis avec l’option

--bg-fill

qui affiche l’image en fond d’écran, sur toute la taille de l’écran, puis le dossier où se trouve mes fonds d’écran

~/Wallpaper

Modifier le chemin du fichier de conf i3status.conf:
Par défauts, le fichier de configuration générale de i3, ~/.i3/config, va chercher la configuration de l’i3bar dans /etc/i3status.conf.
On travaille sur un fichier i3status.conf, qui se trouve dans ~/.i3/i3status.conf, donc on indique ce chemin dans la section bar { du fichier ~/.i3/config
Par défauts la ligne ressemble à ça:

# Start i3bar to display a workspace bar (plus the system information i3status
 # finds out, if available)
 bar {
 status_command i3status
 }

On va rajouter l’argument -c à la commande i3status, pour config, suivi du chemin où se trouve le fichier i3status.conf, que l’ont veux utilisé, ce qui donne:

# Start i3bar to display a workspace bar (plus the system information i3status
 # finds out, if available)
 bar {
 status_command i3status -c ~/.i3/i3status.conf
 }

Je vous mets en lien mon fichier ~/.i3/config et mon fichier i3status.conf
Et pour en savoir un peu plus, si cet article vous à donner envie de vous mettre à i3, voici le lien du guide d’utilisateur malheureusement en anglais, dommage pour les anglophobes 🙂

Pour info sur mon netbook, au démarrage j’utilise que 110 Mio de Ram et je monte à 340 / 350 Mio avec: 2/3 terminaux, firefox et 3/4 onglets, libreoffice sur un 2eme workspace et quodlibet qui lit un fichier flac.
Autant dire que j’ai adopté définitivement i3, pour cet usage.
Pour finir, voici l’ensemble en action:

Merci d’avoir lu cet article et à bientôt.