Compton在Linux中的多显示器支持情况
Compton作为轻量级X11窗口合成器,本身不直接管理显示器物理布局(如扩展、复制、环绕等),其核心职责是为多个显示器上的窗口提供统一的合成效果(如阴影、透明度、动画)。多显示器的布局配置需通过xrandr等工具完成,Compton则负责将这些显示器上的窗口正确合成。
在使用Compton前,需通过xrandr命令设置显示器的连接方式(扩展/复制/环绕)。例如:
xrandr --query(输出会显示所有已连接显示器的名称,如HDMI-1、eDP-1);HDMI-1放在内置屏幕eDP-1右侧,DP-1放在HDMI-1右侧,命令为:xrandr --output HDMI-1 --auto --right-of eDP-1
xrandr --output DP-1 --auto --right-of HDMI-1
xrandr --output HDMI-1 --auto --same-as eDP-1
xrandr --output DP-1 --auto --same-as eDP-1
确保xrandr配置正确,是Compton支持多显示器的基础。
Compton的配置文件(通常位于~/.config/compton.conf或~/.compton.conf)需调整以适应多显示器环境,关键配置项包括:
xrandr-output参数将Compton与xrandr的显示器名称关联,避免误判显示器顺序。例如,若有两个显示器HDMI-1和eDP-1,可添加:xrandr-output HDMI-1 eDP-1;
frame-rate = 60(将帧率限制为60FPS,减少CPU/GPU占用);shadow = false(关闭窗口阴影)、blur = false(关闭模糊效果);backend = "glx"(OpenGL后端,需安装显卡驱动对应的OpenGL库,如mesa-utils)。compton -c ~/.config/compton.conf
/etc/systemd/system/compton.service),内容如下(替换为实际配置文件路径):[Unit]
Description=Compton Compositor
After=display-manager.service
[Service]
ExecStart=/usr/bin/compton -c ~/.config/compton.conf
Restart=on-failure
[Install]
WantedBy=multi-user.target
启用并启动服务:sudo systemctl enable compton.service
sudo systemctl start compton.service
通过systemctl status compton.service可查看服务状态(需显示active (running))。xrandr-output参数与xrandr输出的显示器名称是否一致,避免Compton误判显示器顺序;xrandr调整显示器分辨率(如xrandr --output HDMI-1 --mode 1920x1080),确保与Compton配置中的scale参数匹配(scale = 1.0表示原始分辨率);compton -c ~/.config/compton.conf -D 1),调整vsync参数(设为true)或更换后端(如backend = "xrender",但性能可能下降);通过以上步骤,Compton可在Linux多显示器环境中稳定运行,为用户提供一致的窗口合成效果。如需更详细的参数说明,可参考Compton官方文档或GitHub仓库。