Jak uzyskać zmianę biegów na czerwoną, aby rozpocząć pracę z komputerem?


48

Zainstalowałem Redshiftna swoim komputerze i działa dobrze z poleceniem gtk-redshift.

Jednak nie uruchomi się automatycznie, gdy użyjesz tego samego polecenia w aplikacjach startowych.

Jak ustawić automatyczne uruchamianie?

Odpowiedzi:


27

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ą.


zacznie się, gdybym użył metody zegara GNOME?
— Dandyman

Nie jestem pewien, możesz spróbować, ale kroki opisane powyżej najwyraźniej działają ..
— Mark Rooney

Próbowałem teraz zarówno przy użyciu zegara
— gnomowego

Cóż, jeśli wypróbowałeś powyższą metodę i nie działa, nie mam sugestii. Jak powiedziałem, jest to błąd w Redshift, więc być może będziesz musiał poczekać, aż problem zostanie rozwiązany przez programistę Redshift.
— Mark Rooney

Ten problem występuje również w wersji 14.04, a druga opcja działała dla mnie dobrze. Dzięki.
— Ébe Isaac

14

Utwórz plik o nazwie redshift.confin ~/.configi 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

Działa to dla mnie z redshift-gtkwersją 1.7 (ustawioną na autostart) na Trusty.
— Arch Stanton

9

Sugerowałbym dwa sposoby:

  1. Korzystanie z crontab
  2. Korzystanie z upstart

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:LONGITUTEmiejscem 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.localplik. 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.


W moim Ubuntu 14.04 żadne podejście nie działa. W szczególności w przypadku metody crontab widzę, 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.)
— Raphael

1
Ten post sugeruje, że oba proponowane przez ciebie podejścia są skazane na niepowodzenie. Czy faktycznie potwierdziłeś, że działają (w więcej niż jednej konfiguracji)? Na przykład sprawdziłem, że $ DISPLAY jest czasem, :0a czasem :0.0dla mnie, więc jak mogę na stałe zakodować wartość?
— Raphael

Powinienem był sprawdzić, czy to rzeczywiście działa przed upvotingiem. Jak mówi komentarz @Raphael, to wcale nie działa. Teraz nie mogę usunąć mojej opinii! 😒
— jamadagni

2

Podłącz komputer do Internetu i uruchom gtk-redshiftw 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.


2
Można po prostucp /usr/share/applications/redshift.desktop ~/.config/autostart/
— Gayan Weerakutti

1

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ę.



0

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


0

Utwórz plik ~/.xprofileo 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 4200ustawia temperaturę na 4200 K.

Możesz przetestować skrypt, wylogowując się, a następnie logując.


Po co spać 10 sekund?
— KajMagnus,

1
@KajMagnus Aby działać, redshift należy uruchomić po zakończeniu innych procesów.
— gołopot

0

Innym sposobem na to:

  1. utwórz plik konfiguracyjny, np /etc/redshift.conf

    [redshift]
    location-provider=manual
    
    [manual]
    lat=xx.xxx
    lon=yy.yyy
    
  2. utwórz skrypt wywołujący ten plik, np. /usr/local/bin/redshift.sh( chmod 755później)

    redshift -c  /etc/redshift.conf &
    
  3. 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
    
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.