Ubuntu 下 Compton 环境变量的配置与使用
一、适用场景与总体思路
- 使用环境变量可以在不改动配置文件的前提下,灵活切换 Compton 的行为(如选择不同的配置文件、切换主题、快速调整部分参数)。
- 常见做法包括:用环境变量指定配置文件路径、为不同主题准备多份配置并按需导出变量、在会话启动脚本中设置变量并启动 Compton。
二、常用环境变量与示例
- 指定配置文件
- 变量:COMPTON_CONFIG
- 示例:export COMPTON_CONFIG=~/.config/compton-dark.conf
- 说明:将 Compton 启动时使用的配置文件切换为指定的 compton-dark.conf。
- 主题与外观相关变量(示例)
- 变量:COMPTON_BACKGROUND、COMPTON_FOREGROUND、COMPTON_SHADOW_EXCLUDE、COMPTON_SHADOW_RADIUS、COMPTON_OPACITY、COMPTON_GL、COMPTON_OUTPUT
- 示例:
- export COMPTON_BACKGROUND=“#000000”
- export COMPTON_FOREGROUND=“#FFFFFF”
- export COMPTON_SHADOW_EXCLUDE=“class_g = ‘Firefox’”
- export COMPTON_SHADOW_RADIUS=2.0
- export COMPTON_OPACITY=0.95
- export COMPTON_GL=true
- export COMPTON_OUTPUT=“eDP-1”
- 说明:这些变量可在启动 Compton 前导出,以影响背景色、前景色、阴影排除规则、阴影半径、不透明度、是否启用 GL 加速以及输出设备等。
三、设置环境变量的位置与开机自启
- 会话级设置(推荐)
- 将导出命令写入 ~/.xprofile 或 ~/.xinitrc,在登录时自动生效:
- 示例:
- echo ‘export COMPTON_CONFIG=~/.config/compton-dark.conf’ >> ~/.xprofile
- echo ‘compton -b &’ >> ~/.xprofile
- 说明:-b 表示在后台运行;若需立即生效,可执行 source ~/.xprofile。
- 使用 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
- Restart=always
- [Install]
- 启用并启动:
- systemctl --user daemon-reload
- systemctl --user enable --now compton.service
- 说明:若通过 systemd 管理,环境变量可写入该服务的 Environment= 指令中,或保持在用户会话环境中并由服务继承。
四、验证与热更新
- 验证变量是否生效
- 在终端执行:printenv | grep COMPTON
- 查看 Compton 实际使用的配置:ps aux | grep compton(确认 --config 或行为是否符合预期)
- 热更新配置
- 在不重启会话的情况下,可用替换方式重新加载 Compton:
- 说明:若变量指向了新的配置文件,先导出变量再执行 --replace 即可生效。
五、注意事项
- Compton 仅适用于 X11 会话。如果你使用的是 Wayland,Compton 将无法正常工作,应考虑使用 xcompmgr 或其他 Wayland 合成器。
- 并非所有 Compton 选项都支持通过环境变量设置;未被环境变量覆盖的选项仍从配置文件或命令行参数读取。遇到不支持的情况,优先使用配置文件或命令行参数。