温馨提示×

ubuntu compton多屏显示配置

小樊
35
2025-11-24 15:23:31
栏目: 智能运维

Ubuntu 下使用 Compton 进行多屏显示配置与优化

一 环境准备与显示器命名

  • 确认会话为 X11(Compton 是 X11 合成器;若在 Wayland 会话中,请先切换到 Xorg)。
  • 使用 xrandr 查看并确认显示器名称与布局,例如:eDP-1HDMI-1DP-1
    • 示例扩展布局:
      • xrandr --output HDMI-1 --auto --right-of eDP-1
      • xrandr --output DP-1 --auto --right-of HDMI-1
  • 安装 Compton(若未安装):sudo apt update && sudo apt install compton。以上步骤可确保多屏被 X 正确识别,便于 Compton 统一合成。

二 配置文件与关键参数

  • 创建配置:mkdir -p ~/.config && nano ~/.config/compton.conf
  • 建议的基础配置(多屏通用,按你的显示器名与需求微调):
    # 渲染与同步
    backend = "glx";
    vsync = true;            # 防撕裂;若卡顿可改为 false 试验
    refresh-rate = 0;        # 0 表示自动;也可填主屏刷新率如 60/144
    
    # 帧率与渲染
    fps-limit = 60;
    
    # 阴影(多屏下可按需关闭或精细排除)
    shadow = true;
    shadow-radius = 5;
    shadow-opacity = 0.5;
    shadow-exclude = [
        "class_g = 'gnome-terminal'",
        "class_g = 'konsole'",
        "class_g = 'xterm'"
    ];
    
    # 透明与性能
    opacity-rule = [
        "90:class_g = 'Gnome-terminal'",
        "90:class_g = 'Firefox'"
    ];
    
    # 渲染路径优化(常见可用组合)
    glx-no-stencil = false;
    glx-copy-from-front = false;
    glx-shape = true;
    glx-fbconfig = false;
    glx-hardware = true;
    glx-damage = true;
    damage = true;
    
  • 说明:Compton 对多屏无需为每个屏幕单独写块,通常一份全局配置即可;关键在于使用 backend = “glx”、合理的 vsync/fps-limit,以及对阴影/透明的按需排除与规则。

三 启动与自启动

  • 手动测试:compton -c ~/.config/compton.conf(观察是否无报错、窗口阴影/透明是否正常)。
  • 开机自启动(推荐用户级 systemd,避免权限与图形会话问题):
    1. 创建服务:nano ~/.config/systemd/user/compton.service
    2. 内容示例:
      [Unit]
      Description=Compton Compositor
      After=graphical-session.target
      
      [Service]
      ExecStart=/usr/bin/compton -c %h/.config/compton.conf
      Restart=on-failure
      Environment=DISPLAY=:0
      
      [Install]
      WantedBy=graphical-session.target
      
    3. 启用并启动:
      • systemctl --user daemon-reload
      • systemctl --user enable --now compton.service
  • 如使用 Openbox 等窗口管理器,也可在 ~/.config/autostart/compton.desktop 中加入:
    Exec=/usr/bin/compton -c ~/.config/compton.conf
  • 验证:systemctl --user status compton.service;无报错且多屏效果正常即生效。

四 多屏常见问题与优化建议

  • 撕裂或卡顿:优先开启 vsync = true;若仍不理想,尝试 vsync = false 并适当降低 fps-limit(如 30/45)。
  • 性能优先:可临时关闭阴影(shadow = false)或对特定应用排除阴影/透明(shadow-exclude、opacity-rule)。
  • 刷新率与帧率:多屏混刷新率时,将 refresh-rate = 0 让 Compton 自动选择;或将其设为主屏刷新率(如 60)。
  • 3D/视频卡顿:保持 backend = “glx”,并开启 glx-damage = true / damage = true 减少不必要的重绘。
  • 显示器热插拔/切换:调整后先重跑 xrandr 确认布局,再重启 Compton(systemctl --user restart compton.service)。

0