晚上熄灯后盯着电脑屏幕,蓝光确实刺眼——这大概是每个夜猫子程序员都体会过的痛。市面上有不少护眼软件,但真正好用的,还得好好挑一挑。另外,有些场景下最低亮度还是觉得太亮,于是有人自己写了个调节工具,用半透明黑色遮罩层覆盖屏幕,“强行”降低亮度。今天就把几个在 Linux 下实测好用的方案整理出来。
Redshift
Redshift 是一款能根据环境光线自动调节屏幕色温的应用。与单纯调整亮度不同,它侧重于改变色温,对那种连亮度都无法调节的显示器尤其友好。简单来说,它能让你在白天看到更自然的颜色,到了晚上则自动偏向暖色,有效降低蓝光刺激。长时间面对屏幕的话,这款工具确实能缓解眼睛疲劳。
F.lux
F.lux 同样是调节色温与亮度的老牌工具,但它的设计思路更为细腻:允许你预设一个色温变化范围,比如白天控制在 6500K 以下,晚上则保持在 3500K 以上。随着一天时间的推移,它会自动平滑地调整屏幕色温,重点过滤掉对人眼伤害最大的蓝光。用过的朋友应该知道,到了深夜屏幕变为暖黄色,眼睛确实舒服不少。不过如果是用它看视频或玩游戏,颜色偏差可能会影响观感——这算是它的一个取舍。
xgamma
xgamma 是 Linux 系统自带的小工具,用于调节三原色的伽马值。用法很直接,比如想降低蓝色通道的强度,让屏幕不那么刺眼:
xgamma -bgamma 1.0 # 伽马值范围 0.1 ~ 10.0
如果想整体调暗,也可以:
xgamma -gamma 0.75
伽马值调低后,屏幕整体会变暗,蓝光自然也就减少了。不过需要注意,数值别设置得太极端,否则画面会变得很不自然。
xrandr
xrandr 也是系统自带命令,但它的“亮度”调节实际上更像是在屏幕上覆盖了一层遮罩。效果上,它会整体降低背光模拟的亮度,但个人感觉体验不算完美——色彩会被压得很暗。不过如果你需要极低亮度,比如想在漆黑的房间里把屏幕调到几乎看不见,那么 xrandr 几乎是不二之选:
xrandr --output LVDS1 --brightness 0.5
如果不小心设置为 0.1,屏幕基本上就全黑了,连恢复都得靠盲打命令。所以使用的时候建议先设置一个安全的数值,比如 0.3 以上。
说到这儿,其实后两个工具(xgamma 和 xrandr)都可以配合 zenity 写一个简单的交互脚本,做成滑块界面,想调亮度或伽马值直接拖动即可。省去每次敲命令的麻烦。
再说个题外话,之前在 Mac 上用过 f.lux,日常阅读和办公感觉不错,但一到娱乐场景——看视频、玩游戏——那色彩被压得厉害,观感大打折扣,最后还是得切回正常色温。看来护眼与色彩准确,有时候确实需要做个权衡。

