Je propose deux solutions :
- Utilisation de la crontab
- Utilisation de l'upstart
CRONTAB
Crontab est un programme qui tourne en permanence. Il contient une liste de programmes et de scripts ainsi que les dates ou intervalles exacts auxquels ils doivent être exécutés. 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, vous pouvez taper
crontab -l
Pour modifier la liste, tapez
crontab -e
Ajouter cette ligne à la fin, pour démarrer redshift à chaque fois que l'ordinateur démarre
@reboot export DISPLAY=:0.0 && /usr/bin/redshift -l 56.20:16.35
où 56.20:16.35 est la LATITUDE:LONGITUTE
de votre lieu de résidence. Sauvegardez et redémarrez.
UPSTART
Upstart est un programme qui, entre autres choses, recherche dans des dossiers spécifiques au démarrage des scripts à exécuter. Nous pouvons donc ajouter notre programme dans ce dossier pour qu'il soit exécuté à chaque démarrage. Upstart est plus bas niveau que crontab et vous avez besoin des privilèges root.
Pour ajouter le redshift, il suffit d'éditer /etc/rc.local
fichier. Ajouter le chemin d'accès à redshift avant les 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
Sauvegardez et redémarrez.