Eu sugiro duas maneiras:
- Usando o crontab
- Usando o upstart
CRONTAB
Crontab é um programa que está sendo executado o tempo todo. Tem uma lista com programas e scripts e as datas exatas ou intervalos que devem ser executados. O Crontab é muito usado pelos administradores de sistema para fazer backups e automatizar tarefas.
Para ver a lista com os programas que você pode digitar
crontab -l
Para editar o tipo de lista
crontab -e
Adicione esta linha no final, para inicializar o redshift sempre que o computador for iniciado
@reboot export DISPLAY=:0.0 && /usr/bin/redshift -l 56.20:16.35
onde 56,20: 16,35 é o LATITUDE:LONGITUTE da sua localização.
Salve e reinicie.
UPSTART
Upstart é um programa que, entre outras coisas, procura pastas específicas na inicialização para que os scripts sejam executados. Então, podemos adicionar nosso programa lá para que ele seja executado em cada booutup. O Upstart é mais baixo que o crontab e você precisa de privilégios de root.
Para adicionar redshift, basta editar o arquivo /etc/rc.local . Adicione o caminho para redshift antes do exit no arquivo ou senão ele não será executado. Você pode encontrar o caminho digitando whereis redshift . O arquivo deve ser semelhante a este:
#!/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
Salvar e reinicializar.