是否可以配置 Redshift 以便无论实际太阳位置如何,屏幕颜色都会在固定时间发生变化?我在 Ubuntu 16.04 和 GNOME 上使用 Redshift 1.10-5ubuntu1。
cha*_*rge 12
红移确实提供了在红移配置文件自定义的固定转换时间~/.config/redshift.conf
要设置这些时间,添加字段dawn-time
,并dusk-time
添加一个时间设定的时间段。例如,我的配置文件如下所示:
[redshift]
dawn-time=04:00-05:30
dusk-time=21:00
Run Code Online (Sandbox Code Playgroud)
根据这个拉取请求:
这些选项可以指定一个间隔,如 04:00-05:30 或相当于 18:00-18:00 的即时 18:00。白天和黑夜色温之间的过渡发生在指定的时间间隔内。目前时间必须以 24 小时格式指定,黎明的开始必须在午夜之后,黄昏的结束必须在午夜之前。当指定基于时间的调整时,不需要位置提供者,因此不会被初始化和使用。
Redshift 不提供设置昼夜时间的选项。
我所做的是设置一个cron 任务,根据小时每x分钟设置一次色温。
我使用的命令:
redshift -O TEMPERATURE
Run Code Online (Sandbox Code Playgroud)
只设置TEMPERATURE
一次温度(Redshift 不会在后台运行以计算它是否一直在改变温度)。
如果你不知道如何使用Vim(如果你这样做,你可以跳这一步),打开一个终端(Ctrl+ Alt+ T),并通过运行更改默认编辑器
echo "export EDITOR=nano" >> ~/.bashrc
Run Code Online (Sandbox Code Playgroud)
现在关闭你的终端来申请。
打开一个新终端并运行
crontab -e
Run Code Online (Sandbox Code Playgroud)
编辑您的 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
Run Code Online (Sandbox Code Playgroud)
*/5
是以分钟为单位的间隔(每分钟可除以 5)17-7
和8-16
是小时范围(晚上 5 点到 7 点之间每小时,白天 8 点到 4 点之间每小时)* * *
是日期(所以每一天[月],每一个月,每星期)。因此,在我的示例中,每天 17:00 到 7:59 之间每 5 分钟(0, 5, ..., 55)执行第一个命令(用于夜间),第二个命令(用于白天)每8:00 至 16:59 之间的 5 分钟。
以下命令是在(之前)指定时间执行的命令:
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+ XthenY和 finally Enter。
不要忘记从启动应用程序中删除 Redshift。
现在你完成了。
一些副作用是:您将没有用于暂停或禁用 Redshift的 GUI;不会有过渡(它会直接从DAY_TEMP
变为NIGHT_TEMP
),如果不是不愉快的话,这可能会令人惊讶......
归档时间: |
|
查看次数: |
4850 次 |
最近记录: |