温馨提示×

CentOS Compton安全模式启动

小樊
50
2026-01-10 22:36:14
栏目: 智能运维

在 CentOS 中,Compton 是 X11 的窗口合成器,不会在 Wayland 会话中工作;所谓“安全模式”通常指系统的单用户/救援模式,该环境默认不启动图形会话,因此 Compton 也不会运行。若需在图形环境使用 Compton,应在正常进入系统后按下列方式启动或排查。


一、先确认会话与可用性

  • 确认是否为 X11:执行 echo $XDG_SESSION_TYPE,返回 x11 才能使用 Compton;返回 wayland 则 Compton 不适用。
  • 确认是否安装:compton --versionwhich compton。未安装时,在 CentOS 7 可用 sudo yum install -y compton 安装;新版本发行版仓库可能已不再提供,可考虑从源码或替代方案(如 picom)着手。
  • 快速前台测试:compton --config /etc/compton.conf --backend glx --vsync false,无报错且无明显撕裂即基本可用。

二、正常进入系统后启动 Compton 的常用方式

  • 命令行临时启动(便于排错)

    • 简单:compton
    • 指定配置:compton --config /etc/compton.conf
    • 常用参数:--backend glx --vsync false --paint-on-overlay(可按需增减)
  • 使用 systemd 用户服务(登录图形会话后自动启动,推荐)

    1. 创建服务文件:/etc/systemd/user/compton.service
    [Unit]
    Description=Compton Window Composer
    After=graphical-session.target
    
    [Service]
    ExecStart=/usr/bin/compton --config /etc/compton.conf
    Restart=on-failure
    
    [Install]
    WantedBy=graphical-session.target
    
    1. 启用并启动
    systemctl --user daemon-reload
    systemctl --user enable --now compton.service
    
    1. 若使用 GNOME,可能需禁用其内置合成器以避免冲突:
    gsettings set org.gnome.settings-daemon.plugins.compositor enabled false
    
    1. 为避免用户服务未随登录启动,确保会话已启用 lingering:sudo loginctl enable-linger $USER
  • 使用 systemd 系统服务(全局启动,适用于无显示管理器或需统一管控的场景)

    1. 创建服务文件:/etc/systemd/system/compton.service
    [Unit]
    Description=Compton Compositor
    After=display-manager.service
    
    [Service]
    ExecStart=/usr/bin/compton --config /etc/compton.conf
    Restart=always
    User=your_username
    
    [Install]
    WantedBy=multi-user.target
    
    1. 启用并启动
    sudo systemctl daemon-reload
    sudo systemctl enable --now compton.service
    

    your_username 替换为实际用户名。


三、进入“安全模式”时的处理思路

  • 若你指的是 单用户/救援模式(用于修复系统):该模式不启动图形会话,Compton 不会运行。完成修复后,正常重启进入 X11 会话,再按第二部分方式启动。
  • 进入单用户/救援模式的要点(简要):
    • CentOS 7:GRUB 菜单按 e,将 ro 改为 rw init=/sysroot/bin/sh,删除 rhgb quiet,按 Ctrl+X 启动;救援模式可在 GRUB 中选择相应入口或使用安装介质进入。
    • CentOS 9/Stream:GRUB 菜单按 e,将 ro 改为 rw,删除 rhgb quiet,在末尾追加 init=/bin/bash,按 Ctrl+X;或使用 ISO 选择 Troubleshooting → Rescue a CentOS Stream system

四、常见故障排查

  • 黑屏/撕裂/卡顿:在配置中启用/调整 --backend glx--vsync(或 --glx-sync)、--paint-on-overlay;必要时降低效果(如关闭阴影)。
  • 与桌面环境冲突:在 GNOME 中禁用内置合成器(见上);如使用其他桌面,确保仅有一个合成器在运行。
  • 找不到命令或启动失败:确认已安装 compton,并检查 /etc/compton.conf 语法与路径;前台运行可直观看到报错信息。
  • Wayland 会话:Compton 不适用,需切换到 Xorg 会话后再启动。

0