Respostas:
Existe um bug conhecido # 868904 que interrompe o início do Redshift automaticamente na 11.10 devido a conflitos de geoclue na inicialização.
Consulte o Comentário nº 17 no relatório de erros para obter uma possível solução de definir o local permanentemente na inicialização.
1) Use http://itouchmap.com/latlong.html ou qualquer outro serviço para encontrar sua latitude / longitude
2) Ajuste o comando de inicialização do redshift para:
gtk-redshift -l <latitude>:<longitude>
Exemplo de latitude / longitude de Amsterdã para redshift: gtk-redshift -l 52.37: 4.9
Ele está consertado no pacote 1.7-1ubuntu2, mas a página inicial do Launchpad do projeto lista apenas 1.7-0ubuntu1, construído há 35 semanas.
Você pode tentar fazer o download direto do site deles para ver se ele corrige o problema com uma versão posterior.
Crie um arquivo chamado redshift.conf
no ~/.config
e adicionar suas coordenadas para ele. Deve acabar parecendo algo assim :
[redshift]
location-provider=manual
[manual]
lat=55.0
lon=12.0
redshift-gtk
v1.7 (configurada para iniciar automaticamente) no Trusty.
Eu sugeriria duas maneiras:
CRONTAB
O Crontab é um programa que está sendo executado o tempo todo. Ele possui uma lista com programas e scripts e as datas ou intervalos exatos que eles devem executar. O Crontab é muito usado pelos administradores de sistema para fazer backups e automatizar tarefas.
Para ver a lista com os programas, 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 iniciar
@reboot export DISPLAY=:0.0 && /usr/bin/redshift -l 56.20:16.35
onde 56.20: 16.35 é a LATITUDE:LONGITUTE
sua localização. Salve e reinicie.
SUBIR NA VIDA
O Upstart é um programa que, entre outras coisas, procura em pastas específicas na inicialização os scripts a serem executados. Assim, podemos adicionar nosso programa para que ele seja executado em todas as inicializações. O upstart é mais baixo que o crontab e você precisa de privilégios de root.
Para adicionar o desvio para o vermelho, basta editar o /etc/rc.local
arquivo. Adicione o caminho para redshift antes de o exit
no arquivo ou entã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
Salve e reinicie.
syslog
que o comando é executado, não há mensagem de erro, mas o processo se esgota no momento em que a tela de login é exibida. (Ou seja, não há nenhum efeito visual de Redshift em execução, e após o login Posso confirmar que há de fato nenhum processo redshift em execução.)
:0
vezes é :0.0
para mim, então como posso codificar um valor?
Conecte seu computador à Internet e execute gtk-redshift
no Terminal.
A saída será:
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'.
Depois de obter o seu Latitude e Longitude acima, vá em frente e edite o arquivo de configuração de inicialização automática para Redshift, encontrado em "~ / .config / autostart /"
maez@maez:~$ cd .config/autostart/
maez@maez:~/.config/autostart$ gedit redshift-gtk.desktop
Na janela do gedit, adicione "-l 18,98: 72,83" ao lado 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
onde 18,98: 72,83 é o seu LATITUDE: LONGITUTE
Salve este arquivo e reinicie.
cp /usr/share/applications/redshift.desktop ~/.config/autostart/
Outra solução alternativa ( comentário nº 53 ) é instalar geoclue-hostip
.
Embora na minha configuração (Ubuntu 13.04) a solução alternativa da posição manual funcione, e eu prefiro assim mesmo porque permite que eu indique a localização com mais precisão.
Uma pergunta bastante antiga, mas para quem pode se deparar com ela, uma solução possível pode ser simplesmente removendo o geoclue e - se ainda não existir - instalando o geoclue-2.0
Algo como: apt remove geoclue && apt install geoclue-2.0
Faça logout e efetue login novamente para ver as alterações.
ps se as cores não estiverem dizendo, você pode verificar se o redshift está em execução usando o ps
comando por exemplops aux | grep redshift
Outra maneira é configurar o comando de inicialização do redshift com lon: lat especificado manualmente, como:
redshift-gtk -l xx:yy
onde xx - latitude, yy - longitude
Tela do aplicativo de inicialização:
Testado no Ubuntu 14.04LTS
Crie o arquivo ~/.xprofile
com o seguinte conteúdo:
#!/bin/sh
sleep 10 && redshift -PO 4200 &
O xprofile é executado no início da sessão do usuário X, após o login no shell gráfico (Unity ou Gnome).
O comando redshift -PO 4200
define a temperatura para 4200K.
Você pode testar o script desconectando e fazendo login.
Outra maneira de fazer isso:
crie um arquivo de configuração, por exemplo /etc/redshift.conf
[redshift]
location-provider=manual
[manual]
lat=xx.xxx
lon=yy.yyy
crie um script que chama esse arquivo, por exemplo /usr/local/bin/redshift.sh
( chmod 755
depois)
redshift -c /etc/redshift.conf &
chame isso sempre que o gerenciador de exibição iniciar. Para LightDM, este seria um arquivo em /etc/lightdm/lightdm.conf.d/90-redshift.conf
:
[Seat:*]
display-setup-script=/usr/local/bin/redshift.sh