web-dev-qa-db-fra.com

Comment puis-je obtenir redshift pour démarrer avec mon ordinateur?

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?

47
Dandyman

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.

27
Mark Rooney

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
14

Je suggérerais deux manières:

  1. Utilisation de crontab
  2. Utiliser par la suite

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.

9
Pithikos

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

18.98: 72.8 est votre LATITUDE: LONGITUTE

Enregistrez ce fichier et redémarrez.

2
Sairaj Chavan

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

1
Galilyou

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.

1
LeartS

Une autre façon de le faire:

  1. créer un fichier de configuration, par exemple /etc/redshift.conf

    [redshift]
    location-provider=manual
    
    [manual]
    lat=xx.xxx
    lon=yy.yyy
    
  2. créez un script qui appelle ce fichier, par exemple /usr/local/bin/redshift.sh (chmod 755 après)

    redshift -c  /etc/redshift.conf &
    
  3. 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
    
0
serv-inc

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

0
stand alone

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.

0
golopot