减小字体
增大字体
作者:佚名 来源:本站整理 发布时间:2015/8/27 7:34:02
CentOS5,启动过程中出现以下问题:
INIT:Id "x" respawning too fast,disabled for 5 minutes
图形界面无法启动。
首先根据错误信息知道是init程序在执行系统 启动脚本时出现问题,init所执行的脚本是
/etc/inittab,
查看之: [root@localhost ~]# cat /etc/inittab,
找到最后一行:
x:5:respawn:/etc/X11/prefdm -nodaemon
图形就是由这行启动的,ID为x的行在运行级5的时候会启动prefdm程序,而且有respawn参数,此参数的作用是当程序退出后自动重新启动它,根据错误提示里的respawing too fast判断是由于程序启动异常导致频繁重启.
分析如下:
1、[root@localhost ~]# file /etc/X11/prefdm
/etc/X11/prefdm: Bourne shell script text executable
说明该文件是一个可执行的脚本文件
2、[root@localhost ~]# vi /etc/X11/prefdm
Shell script代码
⦁ #!/bin/sh
⦁
⦁ PATH=/sbin:/usr/sbin:/bin:/usr/bin
⦁
⦁ # shut down any graphical boot that might exist
⦁ if [ -x /usr/bin/rhgb-client ]; then
⦁ /usr/bin/rhgb-client --quit
⦁ fi
⦁
⦁ # We need to source this so that the login screens get translated
⦁ [ -f /etc/sysconfig/i18n ] && . /etc/sysconfig/i18n
⦁
⦁ # Run preferred X display manager
⦁ preferred=
⦁ if [ -f /etc/sysconfig/desktop ]; then
⦁ . /etc/sysconfig/desktop
⦁ if [ "$DISPLAYMANAGER" = GNOME ]; then
⦁ preferred=/usr/sbin/gdm
⦁ elif [ "$DISPLAYMANAGER" = KDE ]; then
⦁ preferred=/usr/bin/kdm
⦁ elif [ "$DISPLAYMANAGER" = XDM ]; then
⦁ preferred=/usr/bin/xdm
⦁ elif [ -n "$DISPLAYMANAGER" ]; then
⦁ preferred=$DISPLAYMANAGER
⦁ fi
⦁ fi
⦁
⦁ shopt -s execfail
⦁
⦁ [ -n "$preferred" ] && exec $preferred "$@" >/dev/null 2>&1 </dev/null
⦁
⦁ # Fallbacks, in order
⦁ exec gdm "$@" >/dev/null 2>&1 </dev/null
⦁ exec kdm "$@" >/dev/null 2>&1 </dev/null
⦁ exec xdm "$@" >/dev/null 2>&1 </dev/null
⦁
⦁ # catch all exit error
⦁ exit 1
从文件内容可知:首先检测界面显示管理器的配置,由于我只安装了GNOME,所以会去运行/usr/sbin/gdm程序
那么这个程序是什么东东呢?
3、[root@localhost ~]# yum whatprovides /usr/sbin/gdm(要保证已经联网)
Loaded plugins: fastestmirror, protectbase
Loading mirror speeds from cached hostfile
* base: centos.ustc.edu.cn
* extras: centoso4.centos.org
* rpmforge: apt.sw.be
* updates: centos.ustc.edu.cn
47 packages excluded due to repository protections
1:gdm-2.16.0-56.el5.centos.i386 : GNOME 显示管理器。
Repo : base
Matched from:
Filename : /usr/sbin/gdm
1:gdm-2.16.0-56.el5.centos.i386 : GNOME 显示管理器。
Repo : installed
Matched from:
Other : Provides-match: /usr/sbin/gdm
可以看出这就是GNOME的显示管理器,这就说明我没安装GNOME管理器了!
4、[root@localhost ~]# ll /usr/sbin/gdm
运行结果显示果然没安装,OK!安装吧!
5、[root@localhost ~]# yum install gdm -y
重启系统,搞定over!