Linux桌面夜间模式无统一开关,需按桌面环境分别配置:GNOME用Night Light、KDE用Night Color、XFCE等用redshift、麒麟用kylin-display-tool,且均需配合显示器低蓝光硬件模式才真正护眼。

Linux桌面开启护眼夜间模式,取决于你用的桌面环境——GNOME、KDE、XFCE、麒麟(Kylin)等原生支持方式完全不同,没有统一开关。直接改系统级色温或装第三方工具是常见 fallback 方案,但容易配错或冲突。
GNOME 桌面直接启用 Night Light
GNOME 3.26+ 自带 Night Light,不依赖额外软件,走的是底层显示管线调整,效果接近 Windows 夜间模式。
- 打开「设置」→「显示」→ 找到「Night Light」开关,点开即可生效
- 点击「Night Light Settings」可调色温:白天默认 6500K,夜间建议设为 4500K–5000K;低于 4000K 容易导致灰阶发黄、文字边缘模糊
- 计划方式选「Sunset to Sunrise」最稳妥,但需确保系统已开启地理位置服务(
Settings → Privacy → Location Services),否则日出日落时间会偏差 1–2 小时 - 若开启后无变化,检查是否被
redshift或f.lux进程抢占控制权:终端运行ps aux | grep -E "(redshift|flux)",有输出就先killall redshift flux
KDE Plasma 启用 Night Color
KDE 的对应功能叫 Night Color,逻辑类似但配置入口分散,且默认不随系统时间自动启停。
- 右键桌面 →「配置桌面和壁纸」→ 左侧选「显示」→「Night Color」→ 开启开关
- 关键参数在「高级设置」里:
Color temperature at night建议填 4500,Transition time设为 30 分钟以上,避免色温突变引发视觉不适 - 定时启用需手动填起止时间(如
19:00–07:00),KDE 不自动读取日出日落;若填错格式(比如写成 7:00 而非 07:00),整个功能会静默失效 - 注意:KDE 的
Night Color与显卡驱动强相关,Intel 核显基本稳定,NVIDIA Proprietary Driver 需确认已启用AllowFlipping(见/etc/X11/xorg.conf中Device段)
通用命令行方案:redshift 替代内置 Night Light
当桌面环境不支持或内置功能失效(比如 XFCE、MATE、i3),redshift 是最轻量可靠的替代。它不修改 GUI 设置,而是通过 X11 RandR 接口实时注入色温矩阵。
- 安装:Ubuntu/Debian 用
sudo apt install redshift,Arch 系用sudo pacman -S redshift - 基础运行:
redshift -O 4500(立即切到 4500K),redshift -x可退出 - 带地理定位自动调度:
redshift -l 31.23:121.47 -t 6500:4500(上海坐标示例),注意经纬度必须用小数格式,不能写度分秒 - 开机自启需加到「启动应用程序」,而非 systemd user service——后者常因 X11 session 未就绪而失败
麒麟(Kylin)桌面专用命令工具
麒麟 OS 使用定制化显示管理模块,kylin-display-tool 是唯一能写入系统级配置的接口,GUI 设置有时只是缓存层,重启即丢。
- 启用夜间模式:
sudo kylin-display-tool --set-night-mode=on - 锁定色温值(比滑块更准):
sudo kylin-display-tool --set-color-temperature=4500 - 验证状态:
sudo kylin-display-tool --get-night-mode-state,返回active才算真正生效 - 配置文件路径是
/etc/kylin/display.conf,手动改这里不如用命令,因为工具会同步刷新 D-Bus 信号,GUI 才能实时响应
最容易被忽略的一点:所有软件层的夜间模式,都无法绕过显示器硬件本身的蓝光输出。如果屏幕本身没低蓝光认证(如 TÜV Rheinland Low Blue Light),再调色温也只是“视觉欺骗”——暖色调掩盖了蓝光峰值,实际辐射量没变。真要护眼,OS 层设置 + 显示器 OSD 中的 Low Blue Light 模式得一起开。


















