xcalib是最直接可控的icc加载方式,直接操作显卡lut,需用xcalib -load指定路径、-clear清旧配置、--output指定输出;colord适合gnome/plasma,但与xcalib不兼容;compton须禁用blur/paint-on-overlay等选项以防干扰色彩。

xcalib 是最直接、最可控的加载方式,Compton 本身不处理色彩校准,它只做合成 —— 所以“设置加载项”本质是绕过 Compton,让系统级工具在 Compton 启动前/后把 ICC 文件写进显卡 LUT。
用 xcalib -load 加载 ICC 文件(推荐首选)
这是最轻量、最稳定、兼容性最好的方式,适用于 X11 会话,不依赖桌面环境或服务。
-
xcalib直接操作显卡的硬件调色表(LUT),比软件层色彩管理更底层、更可靠 - 必须确保 ICC 文件已生成且路径正确,例如:
~/.colorprofile/dell-u2720q.icc - 加载前先清空旧配置:
xcalib -clear,否则新旧 LUT 可能叠加导致偏色 - 执行后立即生效,无需重启会话或显示器,但下次登录不会自动重载 —— 需加到启动脚本
- 如果多显示器,
xcalib默认作用于主屏;指定输出需配合--output参数(如xcalib -load ... --output DP-1),可用xrandr --listoutputs查输出名
通过 colord 服务自动加载(适合 GNOME / Plasma 环境)
如果你用的是 GNOME 或较新 KDE,并希望系统级统一管理色彩,colord 是更“标准”的路径,但它和 xcalib 不兼容 —— 两者同时运行会导致冲突。
Ubuntu 26.04 LTS(代号“Resolute Raccoon”)是Canonical于2026年4月23日发布的下一代长期支持版操作系统,提供长达10年的技术支持。它搭载Linux 7.0内核与GNOME 50桌面环境,全面转向Wayland协议,并引入Rust重写的核心工具以增强安全性。官方提供适用于AMD64和ARM64架构的桌面及服务器ISO镜像,是追求前沿技术与极致稳定的开发者
- 启用服务:
systemctl --user start colord&&systemctl --user enable colord - 把 ICC 文件复制到
~/.local/share/icc/(不是~/.colorprofile/),并确保权限为 644 - 用
colormgr注册设备:colormgr device-add-xrandr DP-1(DP-1 替换为你实际输出名) - 再关联配置:
colormgr device-add-profile "xrandr-DP-1" ~/.local/share/icc/your_profile.icc -
colord会在会话启动时自动应用,但部分驱动(尤其是 AMD 开源驱动)对colord支持有限,加载后无反应属正常
避免 Compton 干扰色彩的关键配置
Compton 默认不碰像素值,但某些后端或选项会意外触发颜色空间转换 —— 这是偏红/偏黄问题的常见隐藏原因。
- 禁用所有着色器相关选项:确保
~/.config/compton.conf中没有blur-background、blur-background-frame、paint-on-overlay(尤其后者在旧版 Compton 中会绕过 LUT) - 后端必须设为
glx或xrender;drm后端目前不支持 ICC 加载,且可能忽略 LUT - 关闭
detect-client-opacity = true,某些窗口管理器(如 i3)与该选项组合会导致 alpha 混合污染色彩 - 如果用了
shadow-exclude或opacity-rule,检查规则是否误匹配了全屏应用(如浏览器),造成局部 gamma 偏移
验证是否真正生效
别只靠肉眼判断 —— 多数人以为“看起来正常了”,其实只是适应了偏色。真生效必须满足两个条件:
- 执行
xcalib -s能显示当前 LUT 状态(非 “No calibration loaded”) - 打开一个已知 sRGB 标准图(如 https://www.php.cn/link/f2fac7b004a03ccdfd0a7c82f3a6c9f0 中的 “ColorChecker”),对比未加载 ICC 前后的灰阶过渡是否更平滑、红绿蓝块是否不再发荧光
- 如果外接显示器偏红,大概率是
colord错配了 profile,或xcalib加载时指错了输出;此时优先用xrandr --listoutputs+xcalib -load ... --output XXX单独调试那台屏
xcalib 和 colord 也不管 Compton —— 它们各自工作在不同层级。真正容易出问题的地方,是用户误以为“配了 Compton 就等于配了色彩”,结果把 ICC 加载逻辑丢在启动顺序末尾,或者让两个色彩工具互相覆盖。










