温馨提示×

如何通过Debian Compton优化电池续航

小樊
44
2025-12-26 15:12:03
栏目: 智能运维

Debian 下用 Compton 优化电池续航的实用方案

一 核心思路

  • 降低合成器负载:优先使用更高效的OpenGL(glx)后端,关闭阴影透明/模糊等重特效,减少 GPU/CPU 唤醒与功耗。
  • 减少不必要重绘:合理设置vsync,避免撕裂与反复重绘带来的额外能耗。
  • 稳定运行与按需启停:用 systemd 用户服务管理 Compton,支持笔记本的电池/交流电源情景自动切换配置。
  • 协同系统级省电:与 TLP、亮度控制、挂起/休眠策略配合,形成整体功耗闭环。

二 配置步骤

  • 安装与准备
    • 安装 Compton:sudo apt update && sudo apt install compton
    • 配置文件路径:~/.config/compton.conf(若不存在可新建)
  • 创建电池省电配置
    • 建议新建:~/.config/compton-battery.conf,内容示例:
      # 仅保留必要功能,最大化省电
      backend = "glx"
      vsync = "true"
      
      shadow = false
      fading = false
      blur-background = false
      opacity-rule = [ "90:class_g = 'GtkWindow'", "90:class_g = 'GtkDialog'" ]
      
      # 降低重绘频率与开销
      refresh-rate = 0
      
  • 创建交流供电配置
    • 建议新建:~/.config/compton-ac.conf,内容示例(适度开启轻量特效):
      backend = "glx"
      vsync = "true"
      
      shadow = true
      shadow-radius = 2
      shadow-offset-x = 1
      shadow-offset-y = 1
      
      fading = true
      fade-in-step = 0.03
      fade-out-step = 0.03
      
      blur-background = false
      opacity-rule = [ "95:class_g = 'GtkWindow'", "95:class_g = 'GtkDialog'" ]
      
  • 使用说明
    • 手动切换:killall compton && compton --config ~/.config/compton-battery.conf(或 ac 版)
    • 后续通过 systemd 用户服务按电源情景自动选择对应配置(见下一节)。

三 电源情景自动切换

  • 创建 systemd 用户服务
    • 新建:~/.config/systemd/user/compton.service
      [Unit]
      Description=Compton Compositor
      After=graphical-session.target
      
      [Service]
      Type=simple
      ExecStart=/usr/bin/compton --config /usr/local/bin/compton-select.sh
      Restart=always
      Environment=DISPLAY=:0
      
      [Install]
      WantedBy=default.target
      
  • 创建电源选择脚本
    • 新建:/usr/local/bin/compton-select.sh(需可执行权限:chmod +x)
      #!/usr/bin/env bash
      if upower -i "$(upower -e | grep BAT)" | grep -q "state:.*discharging"; then
          exec compton --config "$HOME/.config/compton-battery.conf"
      else
          exec compton --config "$HOME/.config/compton-ac.conf"
      fi
      
  • 启用服务
    • systemctl --user daemon-reload
    • systemctl --user enable --now compton.service
  • 说明
    • 依赖命令:sudo apt install upower;脚本通过 upower 检测 BAT 状态自动选择配置。

四 验证与系统级省电协同

  • 验证 Compton 配置是否生效
    • 查看进程与参数:pgrep -x compton | xargs -I{} ps -fp {} | tail -n1
    • 观察日志:journalctl --user -u compton.service -b
    • 快速对比能耗:在电池/交流两种情景下静置数分钟,使用 powertop 观察整体功耗变化(sudo apt install powertop
  • 系统级省电建议(与 Compton 配合效果更佳)
    • 启用 TLP:sudo apt install tlp && sudo tlp start;用 sudo tlp-stat -s 查看状态
    • 降低屏幕亮度、减少外设、禁用屏保(如 xset s off)、合盖即休眠等。

0