Вопрос: Конфигурация Redshift - как установить фиксированные часы перехода?


Можно ли настроить Redshift так, чтобы цвет экрана менялся в фиксированные часы независимо от фактического положения Солнца? Я использую Redshift 1.10-5ubuntu1 на Ubuntu 16.04 и GNOME.


4
2018-01-03 11:36


Источник


Я не думаю, что это возможно, но вы можете войти в место исправления, а не использовать поставщика местоположения. - Videonauth
Для сценария, который я пытаюсь написать, было бы лучше, если бы вы указали, какую рабочую среду вы используете. Включите его в свой вопрос и, пожалуйста, обновите «Ubuntu 16» до действительный (это 16.04 или 16.10, даже если 16.10 больше не поддерживает) - N. Cornet


Ответы:


Redshift не предоставляет возможность устанавливать дневное и ночное время.

То, что я сделал, было создано задача cron для установки цветовой температуры каждый Икс минут, в зависимости от часа.

Команда, которую я использую:

redshift -O TEMPERATURE

установите температуру на TEMPERATURE только один раз (Redshift не будет работать в фоновом режиме для вычисления, если это так, чтобы постоянно изменять температуру).

Как установить задачу cron

  1. Если вы не знаете, как использовать Vim (если вы можете это сделать), откройте терминал (Ctrl+Alt+T) и измените редактор по умолчанию, запустив

    echo "export EDITOR=nano" >>  ~/.bashrc
    

    Теперь закройте свой терминал.

  2. Откройте новый терминал и запустите

    crontab -e
    

    для редактирования таблицы задач cron.

  3. Перейдите в конец файла и добавьте следующие строки:

    */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 являются час диапазон (каждый час между 5 и 7 утра на ночь и между 8 и 4 часами дня)
    • * * * это дата (так что каждый день [месяца], каждый месяц, и каждый день недели).

    Итак, в моем примере первая команда (для ночного времени) выполняется каждые 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 в ваш домашний каталог.
  4. Выход из редактора: если вы сделали шаг 1., Нажмите Ctrl+Икс тогда Y и наконец Войти,

Не забудьте удалить Redshift из приложений для запуска.

Теперь все готово.

Некоторые побочные эффекты ты не будет GUI приостановить Redshift или отключить его; будут нет переходов (он изменится непосредственно из DAY_TEMP в NIGHT_TEMP), и это может быть удивительно, если не неприятно ...


3
2018-01-03 13:15



Я работаю над сценарием, чтобы иметь какой-то графический интерфейс (и, возможно, переходы). Может потребоваться некоторое время ... - N. Cornet
Существует скрипт, который уже работает, который вы можете изменить, чтобы вызвать Red Shift вместо ядра, чтобы изменить уровень яркости, поскольку он работает сейчас: askubuntu.com/questions/894460/... - WinEunuuchs2Unix
Кажется хорошим и достаточно легким, чтобы адаптироваться к этому вопросу. Я пытаюсь написать свой собственный так или иначе, чтобы ответить на этот конкретный вопрос (и с возможностью приостановить какое-то время или отключить, как я уже сказал), это будет не так хорошо, как у вас, но сделает работу :) - N. Cornet