需依次执行:systemctl list-unit-files --type=service、ls /etc/xdg/autostart/ 和 ls ~/.config/autostart/、ls -l /etc/rc.local 与 ls /etc/init.d/ 及 sudo service --status-all 2>/dev/null | grep '+'、grep -n "exec|nohup|&$" ~/.bashrc 与 tail -n 5 ~/.profile ~/.bash_profile 及 ls ~/.config/autostart-scripts/。

在银河麒麟系统中,需要通过终端命令完整定位所有开机启动脚本的物理位置与执行入口,避免遗漏 systemd 服务、XDG 自启项、传统 init 脚本及用户级 shell 启动文件,确保排查无死角。
查看 systemd 系统级开机启动服务
该命令扫描 /usr/lib/systemd/system/ 和 /etc/systemd/system/ 下全部 .service 文件,覆盖所有预装及手动添加的服务单元,不依赖是否启用或运行。
执行:systemctl list-unit-files --type=service
输出中每行含服务名与状态(enabled/disabled/static/indirect),【static 表示该服务不可直接启用,仅作依赖存在;indirect 表示由其他服务触发激活,不会出现在 enable/disable 列表中】。
检查 XDG 标准自启动项(桌面级)
这些 .desktop 文件由 UKUI/GNOME 等桌面环境在会话启动时自动加载,是图形界面下最常被误加或漏查的启动脚本来源。
列出系统级自启项:ls /etc/xdg/autostart/
列出当前用户级自启项:ls ~/.config/autostart/
注意:/etc/xdg/autostart/ 下的文件影响所有用户,【切勿直接删除其中任何文件——曾有用户误删 tracker-miner-fs.desktop 导致桌面搜索功能永久失效,必须从同版本镜像拷贝恢复】。
扫描传统 init 启动脚本
方法一:检查 /etc/rc.local 是否存在并启用
执行:ls -l /etc/rc.local
若显示权限中含 x(如 -rwxr-xr-x),说明该脚本将在 multi-user.target 后期执行;若无执行权限,需先运行 sudo chmod +x /etc/rc.local 才能生效。
方法二:确认 SysV 兼容服务是否存在
执行:ls /etc/init.d/ | wc -l
若结果大于 0,说明系统仍保留传统服务脚本目录;进一步查看启用状态:sudo service --status-all 2>/dev/null | grep '+',+ 号表示该脚本当前被标记为“运行中”。
定位用户级 shell 启动脚本
这些文件在用户登录 Shell 时自动执行,虽非严格意义的“开机启动”,但实际效果等同于每次图形会话启动即运行。
第一步:检查 ~/.bashrc 是否包含可疑启动命令
执行:grep -n "exec\|nohup\|&$" ~/.bashrc
第二步:检查 ~/.profile 和 ~/.bash_profile
执行:tail -n 5 ~/.profile ~/.bash_profile 2>/dev/null
第三步:验证 GNOME/KDE 专用启动脚本(若使用对应桌面)
执行:ls ~/.config/autostart-scripts/ 2>/dev/null || echo "目录不存在"











