香港特别行政区网站建设_网站建设公司_HTML_seo优化
2026/1/2 22:13:41 网站建设 项目流程

【问题描述】一台服务器体系开机黑屏,无法进入图形界面,报错如下:SDEl NMl watchdog: Bind interrupt failed. Firmware may not support

【排查思路】

1、一开始被这个报错迷惑,以为是固件不支持SDEI问题导致的体系无法起来

2、后来发现可以ping通,并且能切换至F2字符界面,于是猜测疑问可能只是lightdm服务没起来

3、[root@localhost ~]#  systemctl status lightdm

##发现这个服务确实为failed,报错如下:Failed to start Light Display Manager lightdm.service: Service RestartSec=100ms expired, scheduling restart. ightdm.service: Scheduled restart job, restart counter is at 5. lightdm.service: Triggering OnFailure= dependencies.

4、[root@localhost ~]#  journalctl -u lightdm

##查看lightdm服务的具体报错情况,如下:可以看出lightdm启动失败,systemd在lightdm服务启动失败后每间隔100ms尝试重新拉起该服务,失败超过5次,触发保护,暂时停止重启尝试。同时由于lightdm最终被判定为启动失败,systemd会根据lightdm.service文件,执行 OnFailure= 指令

这里我截取了该系统中的lightdm.service文档中OnFailure部分内容,可以看出,体系判定lightdm启动失败后,会触发开机动画停止

5、[root@localhost ~]#  ps aux | grep -i Xorg

##从返回结果确定Xorg服务也没起来:

6、[root@localhost ~]#  ukui-greeter    发现找不到该命令

7、[root@localhost ~]# rpm -qa | grep ukui-greeter 没有返回,定位到难题,为ukui-greeter被卸载

8、[root@localhost ~]# yum history

##发现历史yum命令中只有安装数据库、用户的视频服务所需软件包、以及卸载了cmake的操作

9、cat /var/log/dnf.rpm.log | grep Erase

去年十二月就是##该命令查看所有被卸载的软件包,果然看到除了cmake相关包,ukui-greeter也被卸载了,而且被卸载的时间已经

先给予ukui-greeter给用户先安装,的确报缺cmake的依赖,而且我在虚拟机卸载cmake也会将ukui-greeter一块卸掉,证明了我的猜测正确就是10、与用户确认,这个系统最近一次正常运用确实是去年十二月份 ;结合yum history和dnf.rpm.log日志,yum history中只有卸载cmake的运行,但是dnf.rpm.log中还有别的被卸载的软件,猜测是卸载cmake附带将ukui-greeter等包一块卸载了,于

11、[root@localhost ~]#  cmake --version

##看到有cmake这个命令 ,版本为3.22.5

##而该环境自带的cmake版本为3.16.5,以下为正常系统截图

12、[root@localhost ~]#  which cmake

[root@localhost ~]#  rpm -qa | grep cmake

##看到cmake命令路径为/usr/bin/cmake ,然而却没有cmake软件包,结合我的同版本的虚拟机,看到框架自带的cmake为3.16.5版本,因此确定是用户先卸载原本的cmake,再源码安装了3.22.5的版本

13、[root@localhost ~]#  find / -name cmake

##看到/home/..../3.22.5/bin/cmake,并且和/usr/bin/cmakemd5值一样,进一步确定是用户源码编译并将cmake拷贝到/usr/bin/目录下的

【解决方法】

1、[root@localhost ~]#  mv /usr/bin/cmake /usr/bin/cmake-3.22
##给源码编译的cmake命令改名
2、[root@localhost ~]#  rpm  -ivh  *.rpm
##将ukui-greeter、cmake及依赖包提供给用户安装
3、[root@localhost ~]#  systemctl restart lightdm

至此,挑战解决

【知识拓展】

银河麒麟系统中 LightDM 与 UKUI-Greeter 的关系

在银河麒麟操作系统中,LightDM 和 UKUI-Greeter 是显示管理器(Display Manager)系统的两个关键组件,共同负责用户登录界面的管理与呈现。

LightDM 的作用

LightDM 是一个轻量级的显示管理器,负责管理用户会话的启动和切换。它作为系统级服务运行,处理用户认证、会话选择和多用户环境下的登录流程。LightDM 本身不给出图形界面,而是经过插件化的架构支持不同的“greeter”前端。

UKUI-Greeter 的作用

UKUI-Greeter 是专为 UKUI 桌面环境开发的 LightDM 前端插件。它提供符合 UKUI 设计风格的图形化登录界面,包括用户头像、密码输入框、会话类型选择等功能。UKUI-Greeter 通过 LightDM 的接口与系统交互,将用户输入传递给 LightDM 完毕认证流程。

协作流程
  1. 启动阶段
    系统启动时,LightDM 作为守护进程加载,并根据配置调用 UKUI-Greeter 渲染登录界面。

  2. 用户交互阶段
    用户在 UKUI-Greeter 界面输入凭据后,UKUI-Greeter 通过 D-Bus 等机制将信息传递给 LightDM。

  3. 会话管理阶段
    LightDM 验证用户凭据并启动对应的 UKUI 桌面会话,过程中 UKUI-Greeter 会退出,由桌面环境接管显示。

技术依赖关系
  • UKUI-Greeter 依赖 LightDM 的 API 实现功能。
  • LightDM 通过 greeter-session 配置项动态加载 UKUI-Greeter。
  • 两者通信通常采用 D-Bus 或 LightDM 提供的 liblightdm-gobject 库。
​​​​​​

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询