使用终端让 xflux 始终处于特定温度

使用终端让 xflux 始终处于特定温度

我正在尝试配置我的 xflux 以使屏幕温度始终保持在 3200,但它似乎仅适用于夜间。

这是我输入的命令: ./xflux -l 52.5, -g -1.886 -k 3200

这只将其配置为夜间,有什么办法可以一直这样吗?

答案1

xflux- 因为这就是你想要的

xflux这种方式工作,并且不提供更改其行为的选项,你给它你的位置,它会根据所选位置的日出和日落情况,使用这个位置加上你的系统时间来确定何时应该改变颜色。我们当然不想摆弄系统时间,但我们何不直接假时间sudo apt install faketime)?

faketime 20 xflux -l 52.5, -g -1.886 -k 3200

xflux会像八点钟一样开始。faketime有一个“在绝对时间戳冻结时钟”功能,但不幸的是我没有让它与一起使用xflux。我建议您改用 GNU coreutil timeout

timeout -k0 8h faketime 20 xflux -l 52.5, -g -1.886 -k 3200 -nofork

这将xflux像八点钟一样开始,并在我们之后k立即 ( 0)开始。要工作,必须从选项开始。因为现在是凌晨四点,所以如果你不住在太阳升起较早的地方,它应该在整个运行时保持指定的色温。当然,您可以将位置和/或更改为适合您确切需求的地点和时间。要自动执行该过程,请像这样设置一个 cronjob:8 htimeoutxflux-noforkxfluxfaketimecrontab -e

0 */8 * * * DISPLAY=:0 timeout -k0 8h faketime 20 xflux -l 52.5, -g -1.886 -k 3200 -nofork

这将每八小时运行一次命令。timeout八小时后也会将其关闭,这使得全天保持恒定的色温——不幸的是,每八小时会快速闪烁一次,我无法消除。

有一个托盘图标 GUI 叫做fluxgui · Github可通过此 PPA

redshift– 因为它为你的问题提供了更简单的解决方案

还有其他方法,例如redshiftsudo apt install redshift),可让您手动设置色温:

redshift -O 3200

它将一直有效,直到您使用 关闭它为止redshift -x。该软件包redshift-gtk( sudo apt install redshift-gtk) 提供了一个托盘图标,允许您通过鼠标单击将其关闭。

答案2

支持 Redshift 解决方案...但如果您真的想坚持使用 xflux,您可以用位置来欺骗它,而不是用时间来欺骗它。只需选择一个与您的位置相对的位置 - 一个晚上的位置,而您的实际位置是白天。

答案3

不要强行使用不合适的工具,而是使用sct。如 sct 3200(自 2016 年 5 月起可用)

 Description: Set screen color temperature 
  sct is a small C program to change the screen color temperature. It 
  can be used to reduce or increase the amount of blue light produced 
  by the screen. 
  . 
  sct sets the color temperature of the screen via xrandr like redshift. 
  Unlike redshift, it is only 80 lines of C and will not change the 
  screen temperature automatically. 

https://github.com/Tookmund/setcolortemperature

答案4

跳过中间人,直接到源头。

我用:

xrandr --output HDMI2 --gamma 1.00000000:0.88267187:0.76921169 --brightness 0.8

我认为,与试图伪造时间或位置,或安装更多应用程序相比,这是一个更直接的解决方案。


Redshift 和 xfluxh 干扰了我的自定义亮度设置,并一直将其设置为 0.9!所以我不得不放弃它们。然后我编写了一个使用 xrandr 的小 PyQt 脚本(带有我的预设菜单等的系统托盘图标),从此我就很高兴了。

在写这个答案来全面解释它时,我意识到已经有一个详细的答案,其中包括可能的 rgb 三元组和亮度设置:

如何使用“xrandr --gamma”实现类似 Gnome“夜灯”的用法?

PS 查找您的显示名称:

xrandr --listactivemonitors

相关内容