温馨提示×

Ubuntu Compton在多显示器设置中的表现

小樊
45
2025-11-24 15:16:32
栏目: 智能运维

Ubuntu 下 Compton 的多显示器表现与要点

总体表现

  • X11 会话中,Compton 作为窗口合成器可在多显示器环境下稳定运行,提供阴影、透明度等效果;它不直接管理显示器的连接、分辨率与相对位置,这些应由 xrandr 或桌面环境完成。实际使用中,只要显示器布局已通过 xrandr 正确设置,Compton 会跨显示器统一合成,体验一致。对于 Wayland 会话,Compton 并不适用,应改用相应桌面合成器(如 Mutter/KWin)。

配置与启用步骤

  • 安装与基础检查
    • 安装:sudo apt-get update && sudo apt-get install compton
    • 确认显示器名称:xrandr --query(如 eDP-1、HDMI-1、DP-1
  • 使用 xrandr 布局多屏(示例)
    • 扩展:xrandr --output HDMI-1 --auto --right-of eDP-1
    • 镜像:xrandr --output HDMI-1 --auto --same-as eDP-1
  • 创建或编辑配置文件
    • 路径:~/.config/compton.conf(示例见下节)
  • 启动与自启动
    • 手动:compton -c ~/.config/compton.conf
    • 自启动(会话级):在桌面会话的“启动应用程序”或窗口管理器自启目录加入上述命令;不建议使用 systemd 用户/系统服务管理图形会话合成器,以免与登录会话生命周期冲突。

多显示器配置要点

  • 核心原则:用 xrandr 完成显示器的连接、分辨率与相对位置管理;Compton 只负责合成,不负责显示拓扑。
  • 配置文件建议(示例)
    • 选择 GLX 后端并开启损伤追踪以优化重绘:
      backend = "glx";
      glx-no-stencil = false;
      glx-copy-from-front = true;
      glx-shape = true;
      glx-fbconfig = false;
      glx-hardware = true;
      glx-damage = true;
      damage = true;
      
    • 可按需排除阴影或透明度以减少开销(示例规则):
      shadow-exclude = [ "class_g = 'Desktop'", "class_g = 'Gnome-terminal'", "class_g = 'Firefox'" ];
      opacity-rule = [ "class_g = 'Desktop'", "class_g = 'Gnome-terminal'", "class_g = 'Firefox'" ];
      
    • 多显示器无需在 Compton 配置中逐台指定输出;Compton 会自动作用于所有 X11 屏幕。若需按屏幕微调,可结合窗口规则与窗口类/标题匹配实现差异化效果。

性能与常见问题

  • 性能优化
    • 优先使用 backend = “glx” 并开启 glx-damage / damage;在不需要时关闭阴影(shadow = false)或透明度(opacity = false);根据显示器与驱动选择合适的 vsync 策略,必要时关闭以避免卡顿或输入延迟。
  • 常见问题与排查
    • 撕裂或卡顿:检查 vsync 设置与驱动;确保使用 GLX 后端;减少重绘密集特效。
    • 合成未生效或异常:确认会话为 X11;用 xrandr --query 校验布局;重启 Compton 并在日志中排查错误。
    • 开机未启动:将启动命令加入会话自启而非 systemd 服务;确保命令在显示管理器启动后执行。

0