Можно ли настроить Redshift так, чтобы цвет экрана менялся в фиксированные часы независимо от фактического положения Солнца? Я использую Redshift 1.10-5ubuntu1 в Ubuntu 16.04 и GNOME.
Redshift не предоставляет возможность установить дневное и ночное время.
Я сделал задачу cron , чтобы установить цветовую температуру каждые x минут, в зависимости от часа.
Команда, которую я использую:
redshift -O TEMPERATURE
устанавливает температуру на TEMPERATURE
только один раз (Redshift не будет работать в фоновом режиме для вычисления, если он все время изменяет температуру).
Если вы не знаете, как использовать Vim (если вы можете выполнить этот шаг), откройте терминал ( Ctrl kbd> + Alt kbd> + T kbd>) и измените редактор по умолчанию, запустив
echo "export EDITOR=nano" >> ~/.bashrc
Теперь закройте свой терминал для применения.
Откройте новый терминал и запустите
crontab -e
, чтобы отредактировать таблицу задач cron.
Перейдите в конец файла и добавьте следующие строки:
*/5 17-7 * * * DISPLAY=:0 redshift -O NIGHT_TEMP >> /home/USER/cron.log 2>&1
*/5 8-16 * * * DISPLAY=:0 redshift -O DAY_TEMP >> /home/USER/cron.log 2>&1
*/5
- это интервал в минутах (каждая минута, которая может быть делится на 5) 17-7
и 8-16
- диапазон часов (каждый час с 17:00 до 7:00 для ночи и между 8:00 и 16:00 для дня ) * * *
- это дата (поэтому каждый день [месяца], каждый месяц и каждый день недели ). [тысяча сто шестьдесят пять] Итак, в моем примере первая команда (для ночного времени) выполняется каждые 5 минут (0, 5, ..., 55) между 17:00 и 7:59 каждый день, а вторая команда (в дневное время) каждые 5 минут с 8:00 до 16:59.
Следующие команды выполняются в (ранее) указанное время:
DISPLAY=:0
предназначены для запуска команды на дисплее (в противном случае она выполняется в фоновом режиме, что бесполезно в наш случай). Не меняйте его , если вы не используете внешний монитор, большую часть времени порт дисплея по умолчанию - :0
. redshift -O TEMPERATURE
- это команда, которую мы видели выше, конечно, измените DAY_TEMP
и NIGHT_TEMP
на температуры, которые вы хотите для дня и ночи. >> /home/USER/cron.log 2>&1
перенаправляет сообщения (об ошибках) на /home/USER/cron.log
(это может быть полезно, если ваш дисплей НЕ включен :0
). Измените /home/USER
на свой домашний каталог. Выйдите из редактора: если вы выполнили шаг 1. , нажмите Ctrl kbd> + X kbd>, затем Y kbd> и наконец Enter kbd>.
Не забудьте удалить Redshift из автозагрузки.
Теперь все готово.
Некоторые побочные эффекты : у вас не будет GUI для приостановки Redshift или его отключения; не будет переходов (оно изменится непосредственно с DAY_TEMP
на NIGHT_TEMP
), и это может быть удивительным, если не неприятным ...
Redshift предоставляет пользовательские фиксированные времена перехода в файле конфигурации красного смещения в ~/.config/redshift.conf
. Чтобы установить эти времена, добавьте поля dawn-time
и dusk-time
и добавьте время для установки периодов времени. Например, мой файл конфигурации выглядит следующим образом:
[redshift]
dawn-time=04:00-05:30
dusk-time=21:00
В соответствии с этим запросом :
. Эта опция может указывать интервал, например, 04: 00- 05:30 или мгновенное 18:00, что эквивалентно 18: 00-18: 00. Переход между дневной и ночной цветовой температурой происходит в заданном интервале. В настоящее время время должно быть указано в 24-часовом формате, а начало рассвета должно быть после полуночи, а конец сумерек - до полуночи. Если указана корректировка по времени, поставщик местоположения не требуется, и поэтому он не будет инициализирован и использован.