CentOS下Compton配置實用訣竅
確保系統更新至最新狀態,避免依賴沖突:
sudo yum update -y
根據CentOS版本選擇包管理器安裝Compton(CentOS 8及以上推薦使用DNF):
# CentOS 8+/RHEL 8+(使用DNF)
sudo dnf install compton -y
# CentOS 7及以下(使用YUM)
sudo yum install compton -y
Compton的用戶級配置文件優先級最高,路徑為~/.config/compton.conf
(若不存在,手動創建即可)。配置文件采用鍵值對格式,支持注釋(以#
開頭),以下是精簡示例:
# 后端選擇(glx為OpenGL加速,性能更優;xrender兼容性更好但性能較低)
backend = "glx"
# 陰影設置(排除特定窗口減少性能消耗)
shadow = true
shadow-exclude = [".*", "class_g = 'Firefox'", "class_g = 'Conky'"]
shadow-radius = 12
shadow-opacity = 0.7
# 透明效果(調整窗口透明度,避免過度消耗資源)
inactive-opacity = 0.8 # 非活動窗口透明度
active-opacity = 1.0 # 活動窗口透明度
fade = true # 啟用淡入淡出效果
fade-delta = 5 # 淡化速度(數值越小,動畫越快)
優先使用glx
后端(需顯卡支持OpenGL),其性能遠優于xrender
。若使用NVIDIA顯卡,需確保安裝官方閉源驅動(akmod-nvidia
)并啟用OpenGL:
sudo dnf install akmod-nvidia xorg-x11-drv-nvidia-cuda # 安裝NVIDIA驅動
sudo systemctl restart gdm # 重啟圖形界面
配置中明確指定后端:
backend = "glx"
shadow = false
;inactive-opacity = 1.0
、active-opacity = 1.0
;glx-no-stencil = true
、glx-copy-from-front = true
。通過frame-rate
限制幀率(如30FPS),避免高幀率導致的CPU/GPU過載:
frame-rate = 30
若仍存在高CPU使用率,可使用cpulimit
工具限制Compton進程的CPU占用(例如限制為50%):
cpulimit -l 50 -p $(pgrep compton)
若使用多顯示器,需通過xrandr
正確配置顯示器布局(如擴展屏、雙屏拼接),Compton會自動適配。例如,將HDMI-1顯示器放在eDP-1(筆記本屏幕)右側:
xrandr --output HDMI-1 --auto --right-of eDP-1
Compton配置中無需額外設置,但需確保backend = "glx"
以支持多顯示器合成。
創建Systemd服務文件,實現Compton開機自動運行:
sudo nano /etc/systemd/system/compton.service
添加以下內容(替換為你的配置文件路徑):
[Unit]
Description=Compton Window Compositor
After=display-manager.service # 確保在圖形界面啟動后運行
[Service]
ExecStart=/usr/bin/compton --config ~/.config/compton.conf
Restart=on-failure # 若崩潰則自動重啟
[Install]
WantedBy=multi-user.target
保存后,執行以下命令啟用并啟動服務:
sudo systemctl daemon-reload
sudo systemctl enable compton.service
sudo systemctl start compton.service
compton --config ~/.config/compton.conf
pkill compton && compton -b # 后臺啟動Compton
glxinfo
檢查OpenGL支持情況,確保glx
后端正常工作:glxinfo | grep "OpenGL version"
vsync
設置(垂直同步),推薦使用opengl-swc
(OpenGL交換鏈):vsync = "opengl-swc"
shadow-exclude
或opacity-rule
排除問題應用(如Conky、通知欄):shadow-exclude = ["class_g = 'Conky'", "class_g = 'Notify-osd'"]
opacity-rule = ["class_g = 'Alacritty', opacity = 0.9"] # Alacritty終端透明度設為90%
通過以上訣竅,可在CentOS上高效配置Compton,平衡視覺效果與系統性能。根據自身硬件配置(如顯卡型號、內存大?。┱{整參數,能進一步提升使用體驗。