Win*_*nix 22 xrandr ubuntu-gnome f.lux redshift gamma
为了在夜间保护眼睛,添加更多红色和/或减去蓝色,在Windows 10(蓝光过滤器)和 Linux 中变得流行;带有Red Shift或f.lux等附加组件的Gnome 桌面(夜灯)和 Ubuntu Unity 桌面。
我想知道如何使用 Ubuntu 的内置命令行xrandr <monitor> --gamma 1:1:1
功能完成相同的任务。该1:1:1
代表的百分比红色:绿色:蓝色。我认为1
= 100%。我不确定上述包是否添加了更多红色 ( 1.2:1:1
) 以增加约 20% 或减少蓝色 ( 1:1:0.8
)减少约 20% 或两者兼有约 40% 变化。
根据OMG Ubuntu,在 Gnome 的 Night Light 中,您可以使用这些数值:
要测试这些数值,如何将它们转换为覆盖默认值--gamma 1:1:1
?
Xorg 的文档对--gamma
控件没有太多说明:
??伽玛红:绿:蓝
- 将指定的浮点值设置为当前附加到此输出的 crtc 上的伽马校正。请注意,您无法获得克隆输出的两个不同值(即:共享相同的 crtc)并且将输出切换到另一个 crtc 根本不会改变 crtc 伽玛校正。
浮动小数点会很有帮助,因为我要升级的脚本xbacklight
在黎明和黄昏的 90 到 120 分钟过渡期内每分钟缓慢设置一次亮度。我想通过xrandr --brightness
对外部显示器和 OLED 内置显示器的软件支持以及xrandr --gamma
对红光/蓝光过滤器的支持来增强脚本。Xorg 没有说明支持多少个小数位,但我想我认为我会将bc
计算设置为 3 或 4 个小数位,以实现可读性/精度平衡。
我希望模仿微软和 Gnome 的“大人物”正在用他们的“更多红色”和/或“更少蓝色”技术做的事情。我还没有深入研究 Wayland,但使用该系统的答案也将受到赞赏,因为它无疑将成为未来的问题。
--gamma 1:1:1
夜间适合做哪些调整?Win*_*nix 23
我找到了sct
允许用户设置色温的程序的源代码。它“抄袭了代码”redshift
并提供了红色、绿色和蓝色值的映射:
/* cribbed from redshift, but truncated with 500K steps */
static const struct { float r; float g; float b; } whitepoints[] = {
{ 1.00000000, 0.18172716, 0.00000000, }, /* 1000K */
{ 1.00000000, 0.42322816, 0.00000000, },
{ 1.00000000, 0.54360078, 0.08679949, },
{ 1.00000000, 0.64373109, 0.28819679, },
{ 1.00000000, 0.71976951, 0.42860152, },
{ 1.00000000, 0.77987699, 0.54642268, },
{ 1.00000000, 0.82854786, 0.64816570, },
{ 1.00000000, 0.86860704, 0.73688797, },
{ 1.00000000, 0.90198230, 0.81465502, },
{ 1.00000000, 0.93853986, 0.88130458, },
{ 1.00000000, 0.97107439, 0.94305985, },
{ 1.00000000, 1.00000000, 1.00000000, }, /* 6500K */
{ 0.95160805, 0.96983355, 1.00000000, },
{ 0.91194747, 0.94470005, 1.00000000, },
{ 0.87906581, 0.92357340, 1.00000000, },
{ 0.85139976, 0.90559011, 1.00000000, },
{ 0.82782969, 0.89011714, 1.00000000, },
{ 0.80753191, 0.87667891, 1.00000000, },
{ 0.78988728, 0.86491137, 1.00000000, }, /* 10000K */
{ 0.77442176, 0.85453121, 1.00000000, },
};
Run Code Online (Sandbox Code Playgroud)
上面的三列是Red、Green和Blue 的值。
我编写了一系列 bash 脚本,以在 90 分钟到 120 分钟的时间段内在黎明和黄昏逐渐调整亮度和伽玛值。全亮度设置为:
xrandr --output DP-1-1 --gamma 1:1:1 --brightness 1.0
Run Code Online (Sandbox Code Playgroud)
夜间设置是:
xrandr --output DP-1-1 --gamma 1.1:0.8:0.7 --brightness 0.55
Run Code Online (Sandbox Code Playgroud)
终于找到了一个答案:MORE OF XRANDR OR BLUE LIGHT EXPOSURE这个脚本呈现:
#!/bin/sh
night_mode() {
for disp in $(xrandr | sed -n 's/^\([^ ]*\).*\<connected>.*/\1/p'); do
xrandr --output $disp --gamma $1 --brightness $2
done }
case $1 in
off) night_mode 1:1:1 1.0 ;;
*) night_mode 1:1:0.5 0.7 ;;
esac
Run Code Online (Sandbox Code Playgroud)
该脚本减少了所有连接的 Xorg 显示器的蓝光成分和亮度。只需将其保存在您的bin
目录中,chmod +x
如果您愿意,还可以添加cron
作业或键盘快捷键来调用该函数。
这个怎么运作?只需输入不带任何参数的脚本名称即可减少蓝光。要恢复正常设置,请off
在命令后添加参数。
归档时间: |
|
查看次数: |
13020 次 |
最近记录: |