温馨提示×

Linux中如何切换Compton与其他合成器

小樊
39
2025-11-30 08:17:45
栏目: 编程语言

Linux 中切换 Compton 与其他合成器

一、前置说明

  • 合成器运行在 X11 会话中;Wayland 会话使用各自 compositor(如 Mutter/GNOME Shell、KWin/KDE、Sway/WLROOTS),不能用 Compton 直接替代。若需更换 Wayland 合成器,需切换到对应的桌面/会话。
  • 同一时间只能有一个合成器生效,切换的基本思路是:先结束当前合成器,再启动目标合成器;为避免冲突,建议使用“先杀后启”的流程。

二、通用切换步骤

  • 查看当前是否在用合成器:执行 ps aux | grep -E 'compton|xcompmgr|picom',确认进程是否存在。
  • 结束当前合成器(示例):
    • 结束 Compton:killall compton
    • 结束 xcompmgr:killall xcompmgr
    • 结束 picom:killall picom
  • 启动目标合成器(示例):
    • 启动 Compton:compton --config ~/.config/compton.conf(无配置也可直接 compton
    • 启动 xcompmgr:xcompmgr -c -br -o 0.5 -i 0.05 -t -l -r 4:0.0 -fs -n
    • 启动 picom:picom --config ~/.config/picom.conf
  • 避免冲突的小技巧:使用 compton --replace(若已安装)可直接替换当前正在运行的合成器;若提示命令不存在,请先结束旧进程再启动新进程。

三、按桌面环境设置自启动

  • 通用:将启动命令加入会话的启动脚本,如 ~/.xprofile~/.xinitrc,或桌面会话的自动启动目录 ~/.config/autostart/。示例(在 ~/.xprofile 末尾追加):
    • compton -b &(后台运行)
    • 或带配置:compton --config ~/.config/compton.conf -b &
  • 使用 systemd 用户服务(适用于无显示管理器或希望用户级管理的场景):
    • 新建:systemctl --user edit --force --full compton.service
    • 内容示例:
      [Unit]
      Description=Compton Compositor
      After=graphical-session.target
      
      [Service]
      ExecStart=/usr/bin/compton --config %h/.config/compton.conf -b
      Restart=always
      
      [Install]
      WantedBy=graphical-session.target
      
    • 启用:systemctl --user enable --now compton.service
  • 注意:若使用显示管理器(如 GDM/LightDM),优先使用“会话的自动启动”或会话自带的 compositor 开关;不建议在系统级 systemd 中启用用户级合成器,以免登录会话未准备好导致失败。

四、常见合成器与切换命令速查

合成器 安装包示例 启动命令示例 结束命令示例 备注
Compton compton compton --config ~/.config/compton.conf -b killall compton 部分新发行版可能默认无 compton,可用 picom 替代
Picom picom picom --config ~/.config/picom.conf -b killall picom Compton 的精神继任者,配置项大多兼容
xcompmgr xcompmgr xcompmgr -c -br -o 0.5 -i 0.05 -t -l -r 4:0.0 -fs -n killall xcompmgr 轻量,参数即配置
Mutter(GNOME) gnome-shell 无需手动启动(Wayland/X11 会话自带) 不适用 切换需在登录界面选择 GNOME on Xorg 或 GNOME
KWin(KDE) kwin 无需手动启动(会话自带) 不适用 切换需在登录界面选择 Plasma(X11/Wayland)
Sway(Wayland) sway 无需手动启动(会话自带) 不适用 仅 Wayland,使用 sway 会话启动

五、故障排查与优化

  • 黑屏/撕裂/卡顿:
    • 检查是否“多合成器并存”,确保一次只运行一个;必要时用 killall 清理后再启。
    • 调整渲染后端:在配置中设置 backend = "glx";(若支持 OpenGL),较 xrender 通常更流畅;根据显示器与驱动,设置 vsync(true/false)以减少撕裂或卡顿。
    • 降低特效开销:在性能不足时可临时关闭 shadowopacity 等特效。
  • 配置热更新:修改配置后优先用 compton --replace 应用;若失败,结束进程后重启动。
  • 资源限制:若占用异常,可用 cpulimit 限制进程,例如 cpulimit -l 50 -p $(pgrep compton)(将 CPU 限制在约 50%)。

0