如何在CentOS上配置Compton
更新系統包
首先更新系統包列表,確保后續安裝依賴項時不會出現沖突:
sudo yum update -y # CentOS 7
sudo dnf update -y # CentOS 8/Stream
安裝EPEL倉庫(可選但推薦)
若Compton未包含在默認倉庫中,需安裝EPEL(Extra Packages for Enterprise Linux)倉庫:
sudo yum install epel-release -y
安裝Compton
根據CentOS版本選擇包管理器:
sudo yum install compton -y
sudo dnf install compton -y
注意:若倉庫中無Compton,需從源碼編譯安裝(參考后續故障排除部分)。
創建/編輯配置文件
Compton的配置文件優先級為:用戶級配置 > 系統級配置。推薦在用戶目錄下創建配置文件(避免影響全局設置):
mkdir -p ~/.config
nano ~/.config/compton.conf
常用配置參數說明
以下是一個優化后的配置示例,涵蓋基礎效果、視覺效果及性能調整:
# 后端設置(決定合成方式,glx性能更好,xrender兼容性更強)
backend = "glx"
# 陰影設置(調整陰影的偏移、模糊半徑及顏色)
shadow = true
shadow-radius = 12
shadow-offset-x = -15
shadow-offset-y = -15
shadow-color = "rgba(0, 0, 0, 0.5)"
shadow-exclude = [ # 排除不需要陰影的窗口(如通知欄、Conky)
"name = 'Notification'",
"class_g = 'Conky'",
"class_g = 'Notify-osd'"
]
# 透明度設置(調整非活動窗口、標題欄的透明度)
inactive-opacity = 0.8
active-opacity = 1.0
frame-opacity = 0.7
opacity-rule = [ # 自定義應用程序透明度(如終端、瀏覽器)
"90:class_g = 'Alacritty'",
"80:class_g = 'Firefox'"
]
# 淡入淡出效果(開啟/關閉及動畫速度)
fading = true
fade-delta = 5
fade-in-step = 0.03
fade-out-step = 0.03
fade-exclude = []
# 性能優化(減少GPU/CPU占用)
glx-no-stencil = true
glx-no-rebind-pixmap = true
xrender-sync-fence = true
unredir-if-possible = true # 不重定向靜態窗口(如桌面圖標),提升性能
應用配置更改
保存配置文件后,重啟Compton使設置生效:
pkill compton && compton -b # 停止現有進程并以后臺模式啟動
提示:若需調試配置,可前臺運行Compton查看實時輸出:
compton --config ~/.config/compton.conf
創建systemd服務文件
通過systemd管理Compton服務,實現開機自動啟動:
sudo nano /etc/systemd/system/compton.service
添加服務配置
將以下內容粘貼到文件中(替換your-username
為實際用戶名):
[Unit]
Description=Compton Window Compositor
After=display-manager.service
[Service]
ExecStart=/usr/bin/compton -c /home/your-username/.config/compton.conf
Restart=on-failure
User=your-username
[Install]
WantedBy=multi-user.target
啟用并啟動服務
sudo systemctl daemon-reload # 重新加載systemd配置
sudo systemctl enable compton # 設置開機自啟動
sudo systemctl start compton # 立即啟動服務
驗證服務狀態
檢查Compton是否已成功啟動:
sudo systemctl status compton
若顯示“active (running)”,則表示服務已正常運行。
Compton無法啟動
backend
改為wayland
(但Compton對Wayland的支持有限,建議切換至X11)。屏幕撕裂
調整垂直同步設置,嘗試以下參數之一:
vsync = "opengl-swc" # 推薦,適用于大多數情況
vsync = "opengl" # 備選
vsync = "drm" # 適用于支持DRM的系統
高CPU使用率
啟用性能優化參數,降低GPU負載:
glx-no-stencil = true
glx-no-rebind-pixmap = true
paint-on-overlay = true # 減少渲染層級
特定應用程序顯示異常
在shadow-exclude
或opacity-rule
中添加排除規則,例如:
shadow-exclude = [ "class_g = 'YourApp'" ]
opacity-rule = [ "100:class_g = 'YourApp'" ] # 強制設置為不透明
通過以上步驟,你可在CentOS上完成Compton的安裝與配置,實現窗口透明、陰影等視覺效果,并根據需求優化性能。