背景:夜间红色较多/蓝色较少
为了在夜间保护眼睛,添加更多红色和/或减少蓝色,在Windows 10(蓝光过滤器)和 Linux 中变得流行;Gnome 桌面(夜灯)和 Ubuntu Unity 桌面以及Red Shift或f.lux等附加组件。
我想知道如何使用 Ubuntu 的内置命令行xrandr <monitor> --gamma 1:1:1
功能来完成同样的任务。1:1:1
代表红:绿:蓝的百分比。我假设1
= 100%。我不确定上述软件包是否添加更多红色 ( 1.2:1:1
) 增加约 20% 或减少蓝色 ( 1:1:0.8
) 减少约 20% 或两者都增加约 40%。
Gnome Night Light 示例无济于事
根据OMG Ubuntu,在 Gnome 的 Night Light 中,您可以使用以下数值:
- 1000 — 最低值(超暖色/红色)
- 4000 -默认夜灯温度
- 5500 — 平衡夜灯温度
- 6500 -默认夜灯关闭温度
- 10000 — 最高值(超酷/蓝色)
为了测试这些数值,如何将它们转换为覆盖默认值--gamma 1:1:1
?
xorg 的文档是怎么说的
Xorg 的文档并没有太多关于--gamma
控件的说明:
−−伽马红:绿:蓝
- 在当前附加到此输出的 crtc 上将指定的浮点值设置为伽马校正。请注意,您无法为克隆输出获得两个不同的值(即:共享相同的 crtc),并且将输出切换到另一个 crtc 根本不会更改 crtc 伽玛校正。
浮点小数点会很有帮助,因为我要升级的脚本xbacklight
在黎明和黄昏的 90 到 120 分钟的过渡期内每分钟缓慢设置一次亮度。我想通过xrandr --brightness
对外部显示器和 OLED 内置显示器的软件支持以及xrandr --gamma
对红光/蓝光滤光片的支持来增强脚本。Xorg 没有说明支持多少个小数位,但我想我会将bc
计算设置为 3 或 4 个小数位,以实现可读性/精度平衡。
概括
我希望模仿微软和 Gnome 的“大人物”用他们的“更多红色”和/或“更少蓝色”技术所做的事情。我还没有深入研究 Wayland,但使用该系统的答案也将受到赞赏,因为它无疑将成为未来的关注点。
2018 年 12 月 9 日更新 -
sct
sct
我找到了允许用户设置色温的程序的源代码。它已经“抄袭了代码”redshift
并提供了红色、绿色和蓝色值的映射:上面的三列是Red、Green和Blue的值。
2018 年 11 月 4 日更新 - Eyesome
我编写了一组名为Eyesome的bash 脚本,它们在 90 分钟到 120 分钟的时间段内,在黎明和黄昏逐渐调整亮度和伽马。虽然用户可以更改设置,但完整亮度设置的一个良好起点是:
夜间设置(对于三台显示器之一)是:
注意:最多可以使用单独的设置定义三个监视器。
原始答案
终于找到了一个答案:更多 XRANDR 或蓝光曝光呈现此脚本:
该脚本减少了所有连接的 Xorg 显示器的蓝光分量和亮度。只需将其保存在您的
bin
目录中chmod +x
,如果您愿意,可以添加一个cron
作业或键盘快捷键来调用该函数。这个怎么运作?只需键入不带任何参数的脚本名称即可减少蓝光。要恢复正常设置,
off
请在命令后添加参数。您提到的以千计的值是开尔文的温度。每个都有相应的黑体(一颗恒星或任何发射所有波长的光的东西)发射光谱。
所以,如果你选择一个可见光带(例如红色、绿色或蓝色),然后找到曲线与这些带相交的位置,这会给你它们的比例。(注意:图表上的比例是对数的;差异比看起来要大得多)
我认为 5777K 是我们的太阳(有点白)。请记住,这只是原始发射光,各种大气效应会在一天中的不同时间沿途弯曲、散射或吸收光,具体取决于太阳的角度、大气的厚度、大气中的化学物质等. 阅读本文以获取有关这些现象的更多信息:室外照明随太阳高度和光污染的变化 。
您绝对不需要所有这些来制作一个不错的 gamma 更改脚本,但是最好了解您实际尝试模拟的内容,然后您可以选择不错的值。
对我来说,最好的结果是通过安装
redshift
(apt install redshift
) 并将其用作:对于 4500 的温度和 0.5 的亮度,或结合
xrandr
(以及,可选地,xrandr-invert-colors
反转颜色):请注意,单独调用
xrandr
将取消任何红移效果。-P
选项redshift
还重置屏幕亮度和颜色,而不是增量叠加调整。如果在第二个用例-P
中与 like 一起使用,则需要增量调整(无选项)。xrandr
最后,
xrandr-invert-colors
除了使用 ,还可以使用负亮度值xrandr
(但不能使用redshift
),但结果不是很好。