音碰到泛华保险的一个问题:过一段就死机,通过top看出来X程序占100%cpu,日志中有如下的报错:
Apr 22 18:12:37 oaapp02 kdm_config[26993]: Unrecognized section name [Desktop0] at /usr/share/config/kdm/kdmrc:1 Apr 22 18:12:37 oaapp02 kdm_config[26993]: Unrecognized key 'SessionTypes' in section [X-*-Greeter] at /usr/share/config/kdm/kdmrc:61 Apr 22 18:12:38 oaapp02 kdm[26984]: X server died during startup Apr 22 18:12:38 oaapp02 kdm[26984]: X server for display :0 can't be started, session disabled Apr 22 18:12:38 oaapp02 init: Id "x" respawning too fast: disabled for 5 minutes
|
看提示是kde启动的时候报出来的,而且是很快继续执行startkde。其实看到禁止5分钟的提示我可以确定,这么频繁启动X是inittab最后以行的问题。我在虚拟机上试了一下:当启动一个图形界面,然后又init 5的时候,就会频繁出现这种提示。跟用户的现象一样。
基本可以判定是在inittab最后一句之前,已经有X启动了。也就是说5模式的这些开机启动的服务里面,肯定有启动X的。那么和X相关的有两个:vnc和xmanager。经过测试vnc不会出现这种现象;而xmanager在知识库里面有量个启动方法,针对5.0系列有一种启动方法:
1) 修改 /etc/X11/xdm/Xaccess
将这一行
# * #any host can get a login window
去掉前面的注释,改为:
* #any host can get a login window
2) 修改 /etc/X11/xdm/xdm-config
将最后一行:
DisplayManager.requestPort: 0
加上注释,改为:
! DisplayManager.requestPort: 0
3) 修改 /etc/X11/fs/config
将最后一行:
no-listen = tcp
加上注释,改为:
# no-listen = tcp
4) 删除 xinput
# rm -f /etc/X11/xinit/xinitrc.d/xinput
5) 启动 xdm
# xdm
|
这只是设置启动xmanager的方法,为了实现开机自启动,肯定是将xdm加入rc.local文件中。
我按照上述方法,设置开机启动5模式,在rc.local里面添加xdm。重启系统,现象重现。后来用户发来的系统信息中,也可以看到其etc中的相关设置,就是按照上述方法设置的。问题出在这。
另外说一点:
采用开机5模式并在rc.local里面添加xdm的情况下,除了系统进程X占用cpu外,还有一个现象,控制台启动的xdm而不是kde,而且无法登录,并且无法alt+ctrl+f2进入其他控制台。 解决方法如下:
vi /etc/inittab
将文件中的 id:3:initdefault: 修改成id:5:initdefault:
然后将最后一行
x:5:respawn:/etc/X11/prefdm -nodaemon
修改为
x:5:respawn:/usr/X11R6/bin/xdm -nodaemon
|
上述的方法只是不会出现X占用CPU,可以法alt+ctrl+f2进入其他控制台,但是(我还是不得不说一个但是)界面还是XDM而不是KDE,无法登录。
在知识库里面,还有一个开启xmanager的方法,是针对AX3的,可以借鉴
红旗Asianux server 3 Xmanager配置
1、编辑/usr/share/config/kdm/Xaccess
取消下面的行前#号注释:
# * # any host can get a login window
改为
* # any host can get a login window
2、编辑/usr/share/config/kdm/kdmrc
[xdmcp] Enable=false
修改为:
[xdmcp] Enable=true
3、编辑/etc/inittab
id:3:initdefault:
修改为:
id:5:initdefault:
如果没有重启服务器可以直接执行kdm
|
其实如果非要远程登录,vncserver是一个很好的选择。我对vncserver的印象很好:根据需要可以设置vncserver服务开机启动,随时提供远程图形管理界面;也可以需要时ssh登录系统执行vncserver命令启动vncserver,不用图形管理时关闭vncserver。其实基本上linux的管理都不需要图形的,这点我肯定。
阅读(2396) | 评论(0) | 转发(1) |