如何在Linux中使用Compton实现多显示器设置
首先确保系统已安装Compton。根据发行版选择对应命令:
sudo apt-get update && sudo apt-get install comptonsudo yum install -y comptonCompton依赖xrandr管理显示器布局,需先通过xrandr配置物理显示器。运行xrandr --query查看显示器名称(如HDMI-1、eDP-1)。
以扩展模式为例(三显示器:HDMI-1、DP-1、eDP-1),命令如下:
xrandr --output HDMI-1 --auto --right-of eDP-1 # HDMI-1放在eDP-1右侧
xrandr --output DP-1 --auto --right-of HDMI-1 # DP-1放在HDMI-1右侧
此命令将三个显示器横向扩展,可根据需求调整为--left-of、--above或--below。
Compton的主配置文件通常位于~/.config/compton.conf(用户级)或/etc/xdg/compton.conf(系统级)。若文件不存在,手动创建:
mkdir -p ~/.config
nano ~/.config/compton.conf
添加以下基础配置(适配多显示器):
# 后端选择(glx支持硬件加速,推荐)
backend "glx"
# 阴影优化(排除桌面、终端、浏览器等窗口,减少资源占用)
shadow-exclude = [
"class_g \"Desktop\"",
"class_g \"Gnome-terminal\"",
"class_g \"Firefox\""
];
# 透明度规则(可选,根据需求调整)
opacity-rule = [
"class_g \"Desktop\" A", # 桌面窗口完全透明
"class_g \"Gnome-terminal\" 0.8" # 终端窗口80%透明度
];
# 性能优化(启用硬件加速)
glx-no-stencil true
glx-copy-from-front true
glx-hardware true
damage true
关键说明:
backend "glx":必须启用硬件加速,否则多显示器下可能出现卡顿。shadow-exclude:避免对不需要阴影的窗口(如桌面、视频播放器)渲染阴影,提升性能。通过命令行启动Compton并加载配置文件:
compton -c ~/.config/compton.conf
若需以守护进程方式运行(后台常驻),添加-b参数:
compton -b -c ~/.config/compton.conf
此时Compton将应用配置,多显示器布局应正常显示合成效果。
为避免每次登录手动启动,创建systemd服务:
sudo nano /etc/systemd/system/compton.service
写入以下内容(适配多显示器):
[Unit]
Description=Compton Window Composer
After=display-manager.service # 确保在显示管理器之后启动
[Service]
ExecStart=/usr/bin/compton -c ~/.config/compton.conf
Restart=on-failure # 失败时自动重启
User=%i # 当前用户
[Install]
WantedBy=multi-user.target
保存后执行以下命令启用并启动服务:
sudo systemctl daemon-reload
sudo systemctl enable compton.service
sudo systemctl start compton.service
通过systemctl status compton.service检查状态,若显示“active (running)”,则自启动配置成功。
xrandr --query确认显示器布局正常,观察Compton是否对多显示器窗口进行正确合成(如透明度、阴影效果)。shadow false(禁用阴影)、opacity false(禁用透明度)。vsync true(开启垂直同步,防止画面撕裂)。max-render-time 10(设置最大渲染时间为10ms)。通过以上步骤,Compton将成功支持多显示器设置,实现硬件加速的窗口合成与视觉效果。如需更复杂的配置(如不同显示器应用不同规则),可参考Compton官方文档调整compton.conf。