温馨提示×

Linux Compton配置中主题如何切换

小樊
43
2025-11-22 11:01:29
栏目: 智能运维

Linux Compton 配置中主题切换

核心思路 Compton 的“主题”本质上是不同的配置文件(如:~/.config/compton.conf、~/.config/compton-dark.conf、~/.config/compton-light.conf)。切换主题就是在这些配置之间替换,并让 Compton 重新加载。Compton 本身并不直接管理 GTK/图标等桌面主题,这类外观通常由 GTK 主题、图标主题等工具控制,可与 Compton 配置配合实现整体风格统一。

准备多个主题配置

  • 创建主配置与主题配置(示例为暗色与亮色):
    • 主配置:~/.config/compton.conf
    • 暗色主题:~/.config/compton-dark.conf
    • 亮色主题:~/.config/compton-light.conf
  • 示例片段(仅演示思路,实际请按你的喜好完整配置):
    • 暗色主题 compton-dark.conf
      backend = "glx"
      vsync = "opengl-swc"
      shadow = true
      shadow-radius = 12
      shadow-offset-x = -15
      shadow-offset-y = -15
      shadow-opacity = 0.5
      blur-background = true
      blur-kern = "3x3box"
      inactive-opacity = 0.9
      active-opacity = 1.0
      
    • 亮色主题 compton-light.conf
      backend = "glx"
      vsync = "opengl-swc"
      shadow = true
      shadow-radius = 8
      shadow-opacity = 0.4
      blur-background = false
      inactive-opacity = 0.95
      active-opacity = 1.0
      
  • 提示:你可以把需要随主题联动的项目(如阴影、模糊、透明度)分别写入不同配置,便于一键切换。

切换主题的方法

  • 临时切换(当前会话有效)
    • 结束旧进程并指定新配置启动:
      pkill compton
      compton --config ~/.config/compton-dark.conf -b
      
    • 说明:-b 表示后台守护运行。使用 systemd 的用户也可用:sudo systemctl restart compton(前提是服务按单一配置启动)。
  • 登录时自动应用
    • ~/.xprofile~/.xinitrc 中导出配置并启动:
      export COMPTON_CONFIG=~/.config/compton-dark.conf
      compton --config "$COMPTON_CONFIG" -b
      
  • 使用 Systemd 用户服务管理(推荐)
    • 创建用户级服务(避免与系统级服务冲突):~/.config/systemd/user/compton.service
      [Unit]
      Description=Compton Compositor
      After=graphical-session.target
      
      [Service]
      ExecStart=/usr/bin/compton --config /home/你的用户名/.config/compton-dark.conf -b
      Restart=always
      
      [Install]
      WantedBy=default.target
      
    • 启用与切换步骤:
      systemctl --user daemon-reload
      systemctl --user enable --now compton.service
      
      # 切换到亮色主题:更新服务文件中的 --config 路径后
      systemctl --user restart compton.service
      
    • 如需全局 systemd 服务,可将 ExecStart 指向相应配置并启用;但更推荐用户级服务以避免权限与会话问题。

实用建议

  • 主题与桌面外观的联动:Compton 不直接提供 GTK/图标主题,建议用 GTK 主题/图标主题工具(如 Arc Theme、Numix)设置整体风格,再用不同的 Compton 配置控制阴影、模糊、透明度等合成效果,形成统一观感。
  • 快速切换脚本示例
    #!/usr/bin/env bash
    THEME="$1"
    case "$THEME" in
      dark)
        CFG="$HOME/.config/compton-dark.conf"
        ;;
      light)
        CFG="$HOME/.config/compton-light.conf"
        ;;
      *)
        echo "Usage: $0 {dark|light}"
        exit 1
        ;;
    esac
    pkill compton
    compton --config "$CFG" -b
    
    保存为 /usr/local/bin/switch-compton,赋予可执行权限后执行:switch-compton darkswitch-compton light
  • 调试技巧
    • 启动时加上 –log-path /tmp/compton.log 便于排查问题;配置变更后优先用 pkill compton && compton ... -b 重载,确认无误再写入自启动或 systemd。

0