Как мне получить красное смещение, чтобы начать с моего компьютера?

Я установил Redshift на свой компьютер, и он отлично работает с командой gtk-redshift.

Однако, он не запустится автоматически при использовании той же команды в автозагрузке приложений.

Как настроить автоматический запуск?

48
задан 20 March 2017 в 17:45

9 ответов

Я бы предложил два пути:

  1. Использование crontab
  2. Использование upstart

CRONTAB

Crontab - это программа, которая работает постоянно. У него есть список с программами и скриптами и точными датами или интервалами, которые они должны выполнить. Crontab часто используется системными администраторами для создания резервных копий и автоматизации задач.

Чтобы увидеть список с программами, вы можете набрать

crontab -l

Для редактирования типа списка

crontab -e

Добавить эту строку в конце, чтобы загружать красное смещение всякий раз, когда компьютер запускается

@reboot export DISPLAY=:0.0 && /usr/bin/redshift -l 56.20:16.35

, где 56.20: 16.35 - это LATITUDE:LONGITUTE вашего местоположения. Сохраните и перезагрузитесь.

UPSTART

Upstart - это программа, которая, помимо прочего, ищет в определенных папках при загрузке сценарии для запуска. Таким образом, мы можем просто добавить нашу программу, чтобы она запускалась при каждом запуске. Upstart более низкого уровня, чем crontab, и вам нужны привилегии root.

Чтобы добавить красное смещение, вам просто нужно отредактировать файл /etc/rc.local. Добавьте путь к красному смещению перед exit в файле, иначе он не будет работать. Вы можете найти путь, набрав whereis redshift. Файл должен выглядеть примерно так:

#!/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

Сохраните и перезагрузитесь.

0
ответ дан 20 March 2017 в 17:45

Подключите компьютер к Интернету и запустите gtk-redshift в Терминале.

Вывод будет:


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

Как только вы получите широту и долготу сверху, идите вперед и отредактируйте файл конфигурации автозапуска для Redshift, который находится в "~ / .config / autostart /"


maez@maez:~$ cd .config/autostart/
maez@maez:~/.config/autostart$ gedit redshift-gtk.desktop

В окне gedit добавьте «-l 18.98: 72.83» рядом с «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

где 18.98: 72.83 - это ваш LATITUDE: LONGITUTE

Сохраните этот файл и перезагрузитесь.

0
ответ дан 20 March 2017 в 17:45

Создайте файл с именем redshift.conf в ~/.config и добавьте в него свои координаты. В итоге должно получиться что-то похожее на :

[redshift]
location-provider=manual
[manual]
lat=55.0
lon=12.0
0
ответ дан 20 March 2017 в 17:45

Существует известная ошибка # 868904 , из-за которой Redshift не запускается автоматически в 11.10 из-за конфликтов геоклика при запуске.

См. Комментарий № 17 к сообщению об ошибке для возможного решения постоянной установки местоположения при запуске.

1) Используйте http://itouchmap.com/latlong.html или любую другую службу, чтобы найти широту / долготу

2) Настройте запуск команда redshift to: gtk-redshift -l <latitude>:<longitude>

Пример широты / долготы Амстердама для красного смещения: gtk-redshift -l 52.37: 4.9

Сообщается, что исправлено в пакете 1.7-1ubuntu2, но домашняя страница Launchpad для проекта содержит только 1.7-0ubuntu1, созданный 35 недель назад.

Вы можете попробовать загрузить напрямую с их веб-сайта , чтобы посмотреть, решит ли он проблему с более поздней версией.

0
ответ дан 20 March 2017 в 17:45

Обходной путь Antoher ( комментарий # 53 ) - установить geoclue-hostip.

Несмотря на то, что в моей настройке (Ubuntu 13.04) обходной путь позиционирования работает, я все равно предпочитаю его, потому что он позволяет точнее указывать местоположение.

0
ответ дан 20 March 2017 в 17:45

Еще один способ - установить команду запуска для красного смещения с указанным вручную lon: lat like:

redshift-gtk -l xx:yy

где xx - широта, yy - долгота

Экран запуска приложения: [ 111]

Проверено на Ubuntu 14.04LTS

0
ответ дан 20 March 2017 в 17:45

Другой способ сделать это:

  1. создать файл конфигурации, например, /etc/redshift.conf

    [redshift]
    location-provider=manual
    
    [manual]
    lat=xx.xxx
    lon=yy.yyy
    
  2. создать скрипт, который вызывает этот файл, например, /usr/local/bin/redshift.sh (chmod 755 впоследствии)

    redshift -c  /etc/redshift.conf &
    
  3. вызывают это всякий раз, когда запускается менеджер дисплея. Для LightDM это будет файл в /etc/lightdm/lightdm.conf.d/90-redshift.conf:

    [Seat:*]
    display-setup-script=/usr/local/bin/redshift.sh
    
0
ответ дан 20 March 2017 в 17:45

Вполне старый вопрос, но для тех, кто мог бы наткнуться на него, возможное решение, может просто быть путем удаления геоподсказки и - если это уже не существует - установка геоподсказки 2.0

Что-то как: apt remove geoclue && apt install geoclue-2.0

Выйдите из системы и войдите в видеть изменения.

p.s., если цвета не говорят, можно проверить, выполняет ли красное смещение использование ps команда. например. ps aux | grep redshift

1
ответ дан 20 March 2017 в 17:45

Создайте файл ~/.xprofile со следующим содержимым:

#!/bin/sh
sleep 10 && redshift -PO 4200 &

xprofile выполняется в начале сеанса пользователя X, после входа в графическую оболочку (Единство или Гном).

Команда redshift -PO 4200 устанавливает температуру на 4200K.

Вы можете проверить скрипт, выйдя из системы, а затем войдя в нее.

0
ответ дан 20 March 2017 в 17:45

Другие вопросы по тегам:

Похожие вопросы: