cetos7卸载Ibus后无法进入图形化页面
centos7卸载Ibus后无法进入图形化桌面
偶然遇到centos7系统每次开机启动都默认进入了命令行模式,每次开机都需要输入startx进入图形化界面,启动期间确没有任何报错,唯一的问题就是启动级别明明时level5,但是进入的确实level3
由于安装输入法,卸载了ibus,没有仔细看卸载的依赖,导致即使设置了默认开机图形化启动,但是每次都是启动的命令行
startx和init5的区别
- startx是单纯的以执行命令者的身份启动X图形界面,环境变量是当前身份的。任意用户可以执行。
- init 5 切换到运行级别5,则是启动 runlevel 5所对应的服务,并运行图形登录管理器,由用户选择以何种身份登录。该操作是有重新启动系统服务的,需要重新输入用户名和密码登陆。只有root有权执行。
排查过程
查看启动级别
systemctl get-default
image-20240918155249089
查看软连接
ls -al /etc/systemd/system/
image-20240918155625611
排查开机启动项
cat /etc/rc.d/rc.local
image-20240918155742063 并无有关设置启动级别的条目,这里大家也不要试了,这里我试过将startx加入到这里开机运行,结果开机直接卡在了桌面,进不去。和这里应该是没有关系的
可以排查其他开机自启项目
可能有某个服务包含了设置启动级别的配置文件,这个大家可以继续往下研究是否有这样的服务可做到
这里我在虚拟机里有做过测试,已确定是由哪一个服务也可以导致该现象的发生:该服务名为gdm与display-manage
关于gdm引用一段从别的地方摘抄的话:
GDM (The GNOME Display Manager)是GNOME显示环境的管理器,并被用来替代原来的X Display Manager。与其竞争者(X3DM,KDM,WDM)不同,GDM是完全重写的,并不包含任何XDM的代码。GDM可以运行并管理本地和远程登录的X服务器(通过XDMCP)。gdm仅仅是一个脚本,实际上是通过他来运行GDM二进制可执行文件。gdm-stop是用来迅速终止当前正在运行的gdm守护进程的一个脚本。gdm-restart脚本将迅速重启当前守护进程。然而gdm-safe-restart会当所有人都注销后再重启。gdmsetup是一种可以很简单的修改多数常用选项的图形化界面工具。GNOME的帮助里有更完整的文档,在“应用程序”/“系统工具”这一章节
下面我们直接测试该服务如果设置开机不自启动,会产生什么样的现象:
image-20240918160051847 reboot
可以看到系统进入了命令行
注意
重启后进入了命令行模式,也实现了无论如何设置开机启动级别,但是开机依然进入了命令行。这个时候你就要注意看看是不是这个服务被设置成开机不自启动了。
此外,当安装iBus输入法后,在卸载iBus后也会无法进入图形用户界面。这个原因就是ibus和gnome很多都是绑定在一起的,卸载ibus后会导致gdm服务的状态被改变,从而导致了故障的发生。解决办法就是把gdm设置开机自启重启即可**
解决办法
systemctl enable gdm