Risposte:
Esiste un bug noto # 868904 che interrompe l'avvio automatico di Redshift in 11.10 a causa di conflitti di geoclue all'avvio.
Vedere il commento n. 17 sulla segnalazione di bug per una possibile soluzione di impostazione permanente della posizione all'avvio.
1) Usa http://itouchoforte/latlong.html o qualsiasi altro servizio per trovare la tua latitudine / longitudine
2) Regola il comando di avvio di redshift su:
gtk-redshift -l <latitude>:<longitude>
Esempio di latitudine / longitudine di Amsterdam per redshift: gtk-redshift -l 52.37: 4.9
Secondo quanto riferito, è stato risolto nel pacchetto 1.7-1ubuntu2 ma la homepage di Launchpad per il progetto elenca solo 1.7-0ubuntu1 costruita 35 settimane fa.
Puoi provare a scaricare direttamente dal loro sito Web per vedere se risolve il problema con una versione successiva.
Creare un file denominato redshift.conf
in ~/.config
e aggiungi le coordinate ad esso. Dovrebbe finire per assomigliare a questo :
[redshift]
location-provider=manual
[manual]
lat=55.0
lon=12.0
redshift-gtk
v1.7 (impostato su avvio automatico) su Trusty.
Suggerirei due modi:
CRONTAB
Crontab è un programma che è sempre in esecuzione. Ha un elenco con programmi e script e le date o gli intervalli esatti che devono essere eseguiti. Crontab è molto utilizzato dagli amministratori di sistema per eseguire backup e automatizzare le attività.
Per visualizzare l'elenco con i programmi è possibile digitare
crontab -l
Per modificare il tipo di elenco
crontab -e
Aggiungi questa linea alla fine, per avviare redshift ogni volta che il computer si avvia
@reboot export DISPLAY=:0.0 && /usr/bin/redshift -l 56.20:16.35
dove 56.20: 16.35 è il LATITUDE:LONGITUTE
luogo in cui ti trovi. Salva e riavvia.
parvenu
Upstart è un programma che, tra le altre cose, cerca le cartelle specifiche all'avvio per eseguire gli script. Quindi possiamo semplicemente aggiungere il nostro programma lì dentro per farlo funzionare ad ogni avvio. Upstart è più di basso livello di crontab e hai bisogno dei privilegi di root.
Per aggiungere redshift devi semplicemente modificare il /etc/rc.local
file. Aggiungere il percorso al redshift prima che il exit
nel file altrimenti non funzionerà. Puoi trovare il percorso digitando whereis redshift
. Il file dovrebbe essere simile al seguente:
#!/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
Salva e riavvia.
syslog
che il comando è in esecuzione, non c'è nessun messaggio di errore, ma il processo è terminato quando viene visualizzata la schermata di accesso. (Cioè, non c'è alcun effetto visivo di Redshift in esecuzione, e dopo il login posso confermare che non c'è davvero alcun processo di redshift in esecuzione.)
:0
e talvolta :0.0
per me, quindi come posso codificare un valore?
Collega il tuo computer a Internet ed eseguilo gtk-redshift
nel Terminale.
L'output sarà:
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'.
Una volta ottenuti Latitudine e Longitudine dall'alto, vai avanti e modifica il file di configurazione di avvio automatico per Redshift, che si trova in "~ / .config / autostart /"
maez@maez:~$ cd .config/autostart/
maez@maez:~/.config/autostart$ gedit redshift-gtk.desktop
Nella finestra di gedit aggiungi "-l 18.98: 72.83" accanto a "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
dove 18.98: 72.83 è il tuo LATITUDINE: LONGITUTO
Salva questo file e riavvia.
cp /usr/share/applications/redshift.desktop ~/.config/autostart/
Un'altra soluzione alternativa ( commento n. 53 ) è l'installazione geoclue-hostip
.
Anche se sulla mia installazione (Ubuntu 13.04) la soluzione manuale di posizione funziona, e lo preferisco comunque perché mi consente di indicare la posizione in modo più preciso.
Piuttosto una vecchia domanda, ma per coloro che potrebbero inciampare su di essa, una possibile soluzione potrebbe essere semplicemente rimuovendo geoclue e, se non esiste già, installando geoclue-2.0
Qualcosa di simile a: apt remove geoclue && apt install geoclue-2.0
Disconnettersi e riconnettersi per vedere le modifiche.
ps se i colori non lo dicono, puoi controllare se redshift è in esecuzione usando il ps
comando. per esempiops aux | grep redshift
Un altro modo è impostare il comando di avvio per redshift con lon: lat specificato manualmente come:
redshift-gtk -l xx:yy
dove xx - latitudine, yy - longitudine
Schermata dell'applicazione di avvio:
Testato su Ubuntu 14.04LTS
Creare il file ~/.xprofile
con il seguente contenuto:
#!/bin/sh
sleep 10 && redshift -PO 4200 &
Il file xprofile viene eseguito all'inizio della sessione utente X, dopo aver effettuato l'accesso alla shell grafica (Unity o Gnome).
Il comando redshift -PO 4200
imposta la temperatura su 4200 K.
È possibile testare lo script disconnettendosi e quindi accedendo.
Un altro modo per farlo:
creare un file di configurazione, ad es /etc/redshift.conf
[redshift]
location-provider=manual
[manual]
lat=xx.xxx
lon=yy.yyy
creare uno script che chiama questo file, ad es. /usr/local/bin/redshift.sh
(in chmod 755
seguito)
redshift -c /etc/redshift.conf &
chiamare questo ogni volta che viene avviato il display manager. Per LightDM, questo sarebbe un file in /etc/lightdm/lightdm.conf.d/90-redshift.conf
:
[Seat:*]
display-setup-script=/usr/local/bin/redshift.sh