Odpowiedzi:
Znany jest błąd # 868904, który zatrzymuje Redshift uruchamiany automatycznie w 11.10 z powodu konfliktów geoclue podczas uruchamiania.
Zobacz komentarz # 17 do raportu o błędzie, aby znaleźć możliwe rozwiązanie ustawienia lokalizacji na stałe przy uruchomieniu.
1) Użyj http://itouchmap.com/latlong.html lub innej usługi, aby znaleźć szerokość i długość geograficzną
2) Dostosuj komendę uruchamiania redshift do:
gtk-redshift -l <latitude>:<longitude>
Przykład szerokości / długości geograficznej Amsterdamu dla przesunięcia ku czerwieni: gtk-redshift -l 52,37: 4,9
Podobno jest to naprawione w pakiecie 1.7-1ubuntu2, ale strona główna Launchpad dla projektu zawiera tylko 1.7-0ubuntu1 zbudowane 35 tygodni temu.
Możesz spróbować pobrać bezpośrednio z ich witryny, aby sprawdzić, czy to rozwiązuje problem z późniejszą wersją.
Utwórz plik o nazwie redshift.conf
in ~/.config
i dodaj do niego swoje współrzędne. Powinno to wyglądać mniej więcej tak :
[redshift]
location-provider=manual
[manual]
lat=55.0
lon=12.0
redshift-gtk
wersją 1.7 (ustawioną na autostart) na Trusty.
Sugerowałbym dwa sposoby:
CRONTAB
Crontab to program, który działa cały czas. Zawiera listę programów i skryptów oraz dokładne daty lub odstępy czasu, które powinny być uruchamiane. Crontab jest często używany przez administratorów systemu do tworzenia kopii zapasowych i automatyzacji zadań.
Aby zobaczyć listę z programami, które możesz wpisać
crontab -l
Aby edytować typ listy
crontab -e
Dodaj tę linię na końcu, aby uruchomić redshift przy każdym uruchomieniu komputera
@reboot export DISPLAY=:0.0 && /usr/bin/redshift -l 56.20:16.35
gdzie 56,20: 16,35 jest LATITUDE:LONGITUTE
miejscem Twojej lokalizacji. Zapisz i uruchom ponownie.
DOROBKIEWICZ
Upstart to program, który podczas uruchamiania szuka w określonych folderach skryptów do uruchomienia. Możemy więc po prostu dodać tam nasz program, aby działał przy każdym booutup. Upstart jest bardziej niski niż crontab i potrzebujesz uprawnień roota.
Aby dodać przesunięcie ku czerwieni, wystarczy edytować /etc/rc.local
plik. Dodaj ścieżkę do przesunięcia ku czerwieni przedexit
w pliku albo nie będzie działać. Ścieżkę można znaleźć, pisząc whereis redshift
. Plik powinien wyglądać podobnie do tego:
#!/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
Zapisz i uruchom ponownie.
syslog
że polecenie zostało uruchomione, nie pojawia się komunikat o błędzie, ale proces kończy się, gdy pojawia się ekran logowania. (Oznacza to, że nie ma wizualnego efektu działania Redshift, a po zalogowaniu mogę potwierdzić, że faktycznie nie ma uruchomionego procesu redshift.)
Podłącz komputer do Internetu i uruchom gtk-redshift
w terminalu.
Dane wyjściowe będą:
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'.
Po uzyskaniu szerokości i długości geograficznej z góry, edytuj plik konfiguracyjny autostartu dla Redshift, który znajduje się w „~ / .config / autostart /”
maez@maez:~$ cd .config/autostart/
maez@maez:~/.config/autostart$ gedit redshift-gtk.desktop
W oknie gedit dodaj „-l 18.98: 72.83” obok „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
gdzie 18,98: 72,83 to Twoja LATITUDE: LONGITUTE
Zapisz ten plik i uruchom ponownie.
cp /usr/share/applications/redshift.desktop ~/.config/autostart/
Obejściem Antoher ( komentarz nr 53 ) jest instalacja geoclue-hostip
.
Mimo że w mojej konfiguracji (Ubuntu 13.04) ręczne obejście pozycji działa, i tak wolę, ponieważ pozwala mi precyzyjniej wskazać lokalizację.
Całkiem stare pytanie, ale dla tych, którzy mogą się na niego natknąć, możliwym rozwiązaniem może być po prostu usunięcie geoclue i - jeśli jeszcze nie istnieje - zainstalowanie geoclue-2.0
Coś jak: apt remove geoclue && apt install geoclue-2.0
Wyloguj się i zaloguj ponownie, aby zobaczyć zmiany.
ps, jeśli kolory nie mówią, możesz sprawdzić, czy działa przesunięcie ku czerwieni za pomocą ps
polecenia. na przykładps aux | grep redshift
Innym sposobem jest skonfigurowanie komendy uruchamiania dla redshift z ręcznie określonym lon: lat jak:
redshift-gtk -l xx:yy
gdzie xx - szerokość, yy - długość
Ekran startowy aplikacji:
Testowane na Ubuntu 14.04LTS
Utwórz plik ~/.xprofile
o następującej treści:
#!/bin/sh
sleep 10 && redshift -PO 4200 &
Plik xprofile jest wykonywany na początku sesji użytkownika X, po zalogowaniu się do powłoki graficznej (Unity lub Gnome).
Polecenie redshift -PO 4200
ustawia temperaturę na 4200 K.
Możesz przetestować skrypt, wylogowując się, a następnie logując.
Innym sposobem na to:
utwórz plik konfiguracyjny, np /etc/redshift.conf
[redshift]
location-provider=manual
[manual]
lat=xx.xxx
lon=yy.yyy
utwórz skrypt wywołujący ten plik, np. /usr/local/bin/redshift.sh
( chmod 755
później)
redshift -c /etc/redshift.conf &
wywołaj to przy każdym uruchomieniu menedżera wyświetlania. W przypadku LightDM byłby to plik /etc/lightdm/lightdm.conf.d/90-redshift.conf
:
[Seat:*]
display-setup-script=/usr/local/bin/redshift.sh