一、前置准备:安装Compton
在开始配置前,需确保系统已安装Compton。以Debian/Ubuntu为例,可通过以下命令安装:
sudo apt-get update && sudo apt-get install compton
CentOS/RHEL用户可使用:
sudo yum install compton
安装完成后,继续下一步配置。
二、创建/编辑Compton配置文件
Compton的配置文件通常位于用户主目录的.config文件夹下(如~/.config/compton.conf)。若文件不存在,可手动创建:
mkdir -p ~/.config && nano ~/.config/compton.conf
配置文件采用键值对格式,后续优化均需在此文件中调整参数。
三、配置多显示器支持
要让Compton适配多显示器,需完成以下两步:
使用xrandr命令查看当前显示器名称及连接状态(如HDMI-1、eDP-1、DP-1等):
xrandr --query
确保显示器已通过xrandr正确配置为所需模式(如扩展、复制)。例如,将HDMI-1放在eDP-1右侧的扩展模式命令:
xrandr --output HDMI-1 --auto --right-of eDP-1
此步骤是Compton识别多显示器的基础。
在~/.config/compton.conf中添加以下关键参数:
# 指定渲染后端(优先选glx以获得硬件加速)
backend = "glx";
# 关闭Xinerama支持(避免多显示器兼容性问题)
disable-xinerama = false;
# (可选)指定xrandr参数(若自动检测失败,可手动填写显示器名称)
xrandr-args = "--output HDMI-1 --auto --right-of eDP-1 --output DP-1 --auto --right-of HDMI-1";
说明:
backend "glx":选择GLX渲染后端,支持GPU加速,显著提升多显示器下的渲染性能;disable-xinerama false:确保Compton正确处理多显示器布局;xrandr-args:手动指定显示器排列(仅在自动检测失败时使用)。四、优化多显示器性能
多显示器场景下,性能优化尤为重要。以下是关键优化参数:
# 禁用阴影(减少合成开销)
shadow = false;
# 禁用窗口透明度(若不需要透明效果)
opacity = 1.0;
# 排除特定窗口的阴影(如桌面、终端、浏览器)
shadow-exclude = [
"class_g = 'Desktop'",
"class_g = 'Gnome-terminal'",
"class_g = 'Firefox'"
];
说明:阴影和透明度特效会消耗大量GPU资源,关闭后可明显提升多显示器下的帧率。
# 使用GLX后端(已包含在backend设置中)
backend = "glx";
# 开启硬件加速
glx-hardware = true;
说明:GLX后端支持GPU加速,是多显示器场景下的必选配置。
# 开启VSync(防止画面撕裂,但可能增加输入延迟)
vsync = true;
# 或设置为"drm"(适用于支持DRM的显卡,性能更好)
vsync = "drm";
说明:VSync可根据显示器刷新率同步渲染,避免多显示器下的画面撕裂,但需权衡性能与流畅度。
# 限制Compton的CPU使用率(如限制为50%)
# 需配合cpulimit工具使用(安装:sudo yum/apt install cpulimit)
# 启动命令示例:cpulimit -l 50 -p $(pgrep compton) & compton -c ~/.config/compton.conf
说明:多显示器下,Compton的资源占用可能较高,限制CPU使用率可避免系统卡顿。
五、设置Compton开机自启动
为避免每次登录都手动启动Compton,可创建systemd服务:
sudo nano /etc/systemd/system/compton.service
[Unit]
Description=Compton Window Compositor
After=display-manager.service
[Service]
ExecStart=/usr/bin/compton -c ~/.config/compton.conf
Restart=on-failure
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable compton.service
sudo systemctl start compton.service
说明:此配置会在系统启动时自动运行Compton,并在崩溃时自动重启。
六、验证配置
compton -c ~/.config/compton.conf
systemctl status compton.service
七、常见问题排查
disable-xinerama是否设置为false,并确保xrandr配置正确。journalctl -u compton)定位错误。