J'ai installé Redshift
sur mon ordinateur et cela fonctionne bien avec la commande gtk-redshift
.
Cependant, il ne pourrait pas démarrer automatiquement si la même commande était utilisée dans les applications de démarrage.
Comment puis-je le configurer pour qu'il démarre automatiquement?
Il existe un bogue connu # 868904 qui empêche Redshift de démarrer automatiquement dans 11.10 en raison de conflits de géoclue au démarrage.
Voir commentaire n ° 17 sur le rapport de bogue pour une solution possible consistant à définir l'emplacement de manière permanente au démarrage.
1) Utilisez http://itouchmap.com/latlong.html ou tout autre service pour trouver votre latitude/longitude.
2) Ajustez la commande de démarrage de redshift sur:
gtk-redshift -l <latitude>:<longitude>
Exemple de latitude/longitude d’Amsterdam pour redshift: gtk-redshift -l 52.37: 4.9
Il est apparemment corrigé dans le package 1.7-1ubuntu2 mais la page d'accueil Launchpad du projet ne répertorie que 1.7-0ubuntu1 construite il y a 35 semaines.
Vous pouvez essayer de télécharger directement depuis leur site web pour voir si le problème est résolu avec une version ultérieure.
Créez un fichier nommé redshift.conf
dans ~/.config
et ajoutez-lui vos coordonnées. Il devrait finir par chercher quelque chose comme ceci :
[redshift]
location-provider=manual
[manual]
lat=55.0
lon=12.0
Je suggérerais deux manières:
CRONTAB
Crontab est un programme qui tourne tout le temps. Il contient une liste de programmes et de scripts, ainsi que les dates exactes ou les intervalles qu’ils doivent exécuter. Crontab est très utilisé par les administrateurs système pour effectuer des sauvegardes et automatiser des tâches.
Pour voir la liste des programmes que vous pouvez taper
crontab -l
Pour éditer le type de liste
crontab -e
Ajouter cette ligne à la fin, pour démarrer redshift au démarrage de l'ordinateur
@reboot export DISPLAY=:0.0 && /usr/bin/redshift -l 56.20:16.35
où 56.20: 16.35 est le LATITUDE:LONGITUTE
de votre emplacement. Enregistrez et redémarrez.
UPSTART
Upstart est un programme qui, entre autres choses, cherche dans des dossiers spécifiques au démarrage les scripts à exécuter. Donc, nous pouvons simplement ajouter notre programme ici pour le faire fonctionner à chaque démarrage. Upstart est plus bas que crontab et vous avez besoin de privilèges root.
Pour ajouter redshift, il vous suffit de modifier le fichier /etc/rc.local
. Ajoutez le chemin d'accès à redshift avant le exit
dans le fichier sinon il ne s'exécutera pas. Vous pouvez trouver le chemin en tapant whereis redshift
. Le fichier devrait ressembler à ceci:
#!/bin/sh -e
pcscd
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
/usr/bin/redshift
exit 0
Enregistrez et redémarrez.
Connectez votre ordinateur à Internet et exécutez gtk-redshift
dans Terminal.
La sortie sera:
maez@maez:~$ gtk-redshift
Trying location provider `geoclue'...
Started Geoclue provider `Geoclue Master'.
Using provider `geoclue'.
** (process:3541): WARNING **: Could not get location, 3 retries left.
According to the geoclue provider we're at: 18.98, 72.83
Using method `randr'.
Une fois que vous avez obtenu votre latitude et votre longitude par le haut, continuez et modifiez le fichier de configuration autostart pour Redshift, qui se trouve dans "~/.config/autostart /"
maez@maez:~$ cd .config/autostart/
maez@maez:~/.config/autostart$ gedit redshift-gtk.desktop
Dans la fenêtre gedit, ajoutez "-l 18.98: 72.83" à côté de "Exec = redshift-gtk"
[Desktop Entry]
Comment=Color temperature adjustment tool
StartupNotify=true
Exec=redshift-gtk -l 18.98:72.83
Terminal=false
GenericName=Color temperature adjustment
Version=1.0
Categories=Utility;
Hidden=false
Icon=redshift
Type=Application
X-GNOME-Autostart-enabled=true
Name=Redshift
où 18.98: 72.8 est votre LATITUDE: LONGITUTE
Enregistrez ce fichier et redémarrez.
C'est une question assez ancienne, mais pour ceux qui pourraient tomber sur elle, une solution possible pourrait simplement être: en supprimant geoclue et - si elle n'existe pas déjà - installer geoclue-2.
Quelque chose comme: apt remove geoclue && apt install geoclue-2.0
Déconnectez-vous et reconnectez-vous pour voir les modifications.
p.s. si les couleurs ne sont pas révélatrices, vous pouvez vérifier si redshift est en cours d'exécution à l'aide de la commande ps
. par exemple. ps aux | grep redshift
Une autre solution ( commentaire n ° 5 ) consiste à installer geoclue-hostip
.
Même si, dans ma configuration (Ubuntu 13.04), la solution de contournement manuelle de la position fonctionne et je la préfère quand même car elle me permet d’indiquer plus précisément l’emplacement.
Une autre façon de le faire:
créer un fichier de configuration, par exemple /etc/redshift.conf
[redshift]
location-provider=manual
[manual]
lat=xx.xxx
lon=yy.yyy
créez un script qui appelle ce fichier, par exemple /usr/local/bin/redshift.sh
(chmod 755
après)
redshift -c /etc/redshift.conf &
appelez-le à chaque démarrage du gestionnaire d’affichage. Pour LightDM, ce serait un fichier à /etc/lightdm/lightdm.conf.d/90-redshift.conf
:
[Seat:*]
display-setup-script=/usr/local/bin/redshift.sh
Un autre moyen consiste à configurer une commande de démarrage pour redshift avec lon: lat spécifié manuellement, comme suit:
redshift-gtk -l xx:yy
où xx - latitude, yy - longitude
Écran d'application de démarrage:
Testé sur Ubuntu 14.04LTS
Créez le fichier ~/.xprofile
avec le contenu suivant:
#!/bin/sh
sleep 10 && redshift -PO 4200 &
Le xprofile est exécuté au début de la session de l'utilisateur X, une fois que vous vous êtes connecté au shell graphique (Unity ou Gnome).
La commande redshift -PO 4200
définit la température sur 4200K.
Vous pouvez tester le script en vous déconnectant, puis en vous connectant.