gnome

Mode automatique lumière/obscurité

Quelqu'un a-t-il déjà trouvé un moyen de basculer automatiquement entre les modes "clair" et "sombre", en ce qui concerne le "Thème de la fenêtre" dans les paramètres d'Ubuntu (Paramètres → ApparenceThème de la fenêtreClair / Standard / Sombre )?

Fouiller dans les réglages chaque matin ou chaque soir est une vraie galère. Ce serait formidable de pouvoir passer automatiquement en mode "sombre" au coucher du soleil, et passer automatiquement en mode "clair" au lever du soleil.

Pour GNOME, cette extension shell existe : Night Theme Switcher

Il dispose d'un grand nombre d'options et fonctionne déjà prêt à l'emploi,sans avoir à configurer quoi que ce soit,mais la configuration est également très simple !

Screenshot of the Schedule tab

Screenshot of the GTK theme tab




La commande du terminal pour changer de thème est :

gsettings set org.gnome.desktop.interface gtk-theme Yaru-dark

pour le thème Yaru-dark,et

gsettings set org.gnome.desktop.interface gtk-theme Yaru-light

pour le thème Yaru-light.

Il existe un outil appelé cron-job qui permet de planifier des tâches (en gros,exécuter quelque chose de manière répétée à un moment précis).Ainsi,vous pouvez écrire un cron-job pour exécuter ces commandes à des moments précis (quelque chose comme passer au thème sombre à 21 heures et au thème clair à 6 heures du matin).

Ajoutez ce qui suit à un fichier nommé script.sh :

#!/bin/bash
echo export DBUS_SESSION_BUS_ADDRESS=$DBUS_SESSION_BUS_ADDRESS > lightscript.sh
echo export DBUS_SESSION_BUS_ADDRESS=$DBUS_SESSION_BUS_ADDRESS > darkscript.sh
echo "gsettings set org.gnome.desktop.interface gtk-theme Yaru-light" >> lightscript.sh
echo "gsettings set org.gnome.desktop.interface gtk-theme Yaru-dark" >> darkscript.sh
chmod 755 lightscript.sh
chmod 755 darkscript.sh

currenttime=$(date +%H:%M)
if [[ "$currenttime" > "21:00" ]] || [[ "$currenttime" < "06:00" ]]; then
  ./darkscript.sh
else
  ./lightscript.sh
fi

Rendre le fichier exécutable en cours d'exécution :

chmod 755 /path/to/script.sh

or:

chmod +x /path/to/script.sh

Exécutez gnome-session-properties dans le terminal. Ajoutez un nouveau programme de démarrage en cliquant sur ajouter sur le côté droit et en sélectionnant le fichier script.sh en parcourant et en l'enregistrant avec un nom et un commentaire. Cela indiquera à GNOME de créer lightscript.sh et darkscript.sh chaque fois que vous vous connecterez via l'interface graphique.

Ajoutez votre travail (changez de thème) à crontab en utilisant la commande :

crontab -e

et en choisissant un éditeur approprié ou vous pouvez aller dans /var/spool/cron/crontabs et modifier le fichier avec votre nom d'utilisateur. L'accès au fichier de cette manière nécessite des privilèges sudo .Ajoutez les deux lignes suivantes (avec /path/to/ remplacé par le chemin réel) :

0 6 * * * /path/to/lightscript.sh
0 21 * * * /path/to/darkscript.sh

Elle dira :

crontab: installing new crontab

après avoir quitté la commande.Vous pouvez également vérifier avec :

crontab -l

Cela devrait le faire. Les deux lignes ci-dessus indiquent à cron d'exécuter lightscript.sh à 6h00 et darkscript.sh à 21h00 tous les jours.

Nous faisons ce détour au lieu de simplement ajouter :

0 6 * * * gsettings set org.gnome.desktop.interface gtk-theme Yaru-light

à crontab car cela nécessite que la variable DBUS_SESSION_BUS_ADDRESS soit correctement définie.