在 CentOS 中调整 Compton 的色彩表现
一、先确认环境与总体思路
- Compton 是 X11 的合成器,不负责系统级色彩管理(如 ICC/色彩配置文件、Gamma 等)。要调整“屏幕整体色温/对比度/饱和度”,应优先使用 GNOME 设置 → 颜色(配置显示器 ICC)、或使用 xrandr 的 gamma/亮度/对比度 参数;Compton 只负责窗口的阴影、透明度、模糊等合成效果。若你确实需要“偏色/色调”的视觉效果,可在 Compton 中通过着色器实现,但这属于视觉效果而非色彩校准。
二、使用 xrandr 调整 Gamma 与亮度对比度(快速见效)
- 查看输出名:
- xrandr | grep " connected" | awk ‘{print $1}’
- 设置示例(对指定输出调整,示例为 eDP-1):
- Gamma 偏暖(降低绿色通道):xrandr --output eDP-1 --gamma 1.0:0.95:0.90
- 提高整体亮度(保持比例):xrandr --output eDP-1 --gamma 0.95:0.95:0.95
- 只调对比度/亮度(部分驱动支持):xrandr --output eDP-1 --brightness 1.05 --contrast 1.10
- 说明:xrandr 的 gamma 采用 R:G:B 三个浮点数,值越小对应通道越暗;brightness/contrast 为线性系数,部分驱动/硬件可能不支持。上述命令直接生效,重启会话后可能需要重新设置。
三、在 Compton 中微调与色彩相关的合成参数
- 配置文件位置:~/.config/compton.conf(不存在可创建)。修改后需重启 Compton 生效。
- 常用与“观感色彩”相关的选项(示例):
- 选择合成后端(影响性能与色深表现):backend = “glx”(或 xrender)
- 背景不透明(避免叠加造成“发灰”):background-opacity = 1.0
- 全局不透明度(0.0–1.0):opacity = 0.95
- 阴影颜色与透明度(示例为半透明黑):shadow-color = “#00000080”
- 刷新率上限(减少卡顿、稳定观感):frame-rate = 60
- 示例片段:
- backend = “glx”
- background-opacity = 1.0
- opacity = 0.95
- shadow-color = “#00000080”
- frame-rate = 60
- 应用方式:
- 重启 Compton:killall compton && compton --config ~/.config/compton.conf
- 或在会话启动器/自启动脚本中直接带参运行:compton --config ~/.config/compton.conf --opacity 0.95 --frame-rate 60。
四、进阶 使用着色器实现色调效果(可选)
- 思路:通过自定义 GLSL 片段着色器 改变窗口最终颜色(如整体偏暖/偏冷)。Compton 提供 shader-file / shader-frag / shader-vert 等选项加载着色器;若不需要,保持为 null。
- 示例(片段着色器,仅作示意,保存为例如 ~/.config/compton/warmer.frag):
- uniform sampler2D u_tex;
in vec2 v_texcoord;
out vec4 FragColor;
void main() {
vec4 c = texture(u_tex, v_texcoord);
// 轻微降低绿色通道,模拟暖色滤镜
c.r *= 1.00; c.g *= 0.97; c.b *= 0.95;
FragColor = c;
}
- 在 compton.conf 中启用:
- shader-file = “~/.config/compton/warmer.frag”
- backend = “glx”
- 注意:着色器会改变窗口内容呈现,可能影响可读性;请谨慎调整并逐项验证。