Redshift配置 – 如何设置固定转换时间?

是否可以配置Redshift,以便屏幕颜色在固定的小时变化,而不管实际的太阳位置如何? 我在Ubuntu 16.04和GNOME上使用Redshift 1.10-5ubuntu1。

Redshift不提供设置日夜时间的选项。

我所做的是设置一个cron任务 ,根据小时每隔x分钟设置色温。

我使用的命令:

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-78-16小时范围(夜间下午5点到7点之间每小时,当天上午8点到下午4点之间)
    • * * *是日期(所以每月[每月], 每个月和每周的每一天 )。

    所以,在我的例子中,第一个命令(夜间)每天在17:00到7:59之间每5分钟(0,5,…,55)执行一次,第二个命令(白天)每次执行8:00至16:59之间的5分钟。

    以下命令是在(先前)指定时间执行的命令:

    • DISPLAY=:0用于在显示器上运行命令(否则它在背景上,在我们的例子中没用)。 除非您使用外部显示器,否则请勿更改它 ,大多数情况下默认显示端口为:0
    • DAY_TEMP redshift -O TEMPERATURE是我们上面看到的命令,当然 DAY_TEMPNIGHT_TEMP 更改为您想要的白天和夜晚的温度。
    • >> /home/USER/cron.log 2>&1将(错误)消息重定向到/home/USER/cron.log (如果您的显示器未打开,这可能很有用:0 )。 /home/USER 更改为您的主目录。
  4. 退出编辑器:如果您执行了步骤1. ,请按Ctrl + X然后按Y ,最后按Enter键

不要忘记从启动应用程序中删除Redshift。

现在你完成了。

一些副作用是:你没有GUI来暂停Redshift或禁用它; 没有过渡 (它将直接从DAY_TEMP变为NIGHT_TEMP ),如果不是令人不愉快的话,这可能会令人惊讶……