Linux Compton支持多显示器设置
Compton作为轻量级X11窗口合成器,本身不直接管理显示器物理连接或布局,但通过与系统工具(如xrandr)配合,可完美支持多显示器环境下的窗口合成效果(如透明度、阴影、动画等)。其多显示器支持的核心逻辑是:由xrandr处理显示器配置,Compton负责将窗口效果应用到所有已识别的显示器上。
通过包管理器安装Compton(以Debian/Ubuntu为例):
sudo apt update && sudo apt install compton
安装完成后,Compton会自动检测系统中已连接的显示器。
xrandr在Compton配置前,需用xrandr设置显示器的分辨率、位置(扩展/镜像等)。例如,将HDMI-1设置为右侧扩展屏(eDP-1为主屏):
xrandr --output HDMI-1 --auto --right-of eDP-1
通过xrandr命令(无参数)可查看显示器名称(如HDMI-1、eDP-1)及当前配置,确保显示器被系统正确识别。
Compton的配置文件(通常位于~/.config/compton.conf)无需复杂设置即可支持多显示器,但可通过以下选项优化体验:
glx后端)、设置透明度规则等(示例):backend "glx"
glx-no-stencil false
glx-copy-from-front true
opacity-rule ["class_g \"Desktop\" A", "class_g \"Gnome-terminal\" A"]
shadow-exclude ["class_g \"Desktop\"", "class_g \"Gnome-terminal\""]
screen选项(示例):screen0 {
output = "HDMI-1"
position = "left"
scale = 1.0
}
screen1 {
output = "eDP-1"
position = "right"
scale = 1.0
}
注:
screen选项需根据显示器实际名称调整,优先使用xrandr输出的名称。
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=always
[Install]
WantedBy=multi-user.target
启用并启动服务:sudo systemctl enable compton && sudo systemctl start compton
vsync(垂直同步)设置(vsync = true)或更换合成后端(如backend = "xrender",但性能可能下降)。shadow = false)、降低帧率(frame-rate = 30)或使用GPU加速(确保显卡驱动支持OpenGL)。xrandr设置的选项(如强制单显示器模式),并确保xrandr配置正确。