以前启动fedora时也碰到过提示“the greeter application appears to be crashing. Attempting to us a different one”,并且不能进入登陆界面,终端的登陆界面也是不稳定,基本上是2分钟就会提示一次错误。不过在这种情况下我都是以为空间不足,所以删除一些多余的东西就好了,谁知道这次不奏效了,于是在网上搜索了一把,在/etc/sysconfig/下添加了一个desktop配置文件就好了。
现将出问题原因总结如下,希望对其他朋友有所帮助:
由于不能看到登录界面,所以要解决问题只能用终端了,按Ctrl+Alt+F1~F6可分别进入登录终端1~6。以下操作都是在终端进行。
出现这种问题有两种可能
1. 系统空间不够
对于这种情况比较简单,用df查看一下磁盘空间还剩多少,如果发现没有空间了,删除一些没用的文件,重启就OK了。
2. 配置文件错误
而这种情况,有两个相关的配置文件
/etc/sysconfig/desktop
/etc/X11/prefdm
Linux 常用的桌面管理程序有GNOME和KDE,所以首先要弄清楚自己的系统中安装了哪几个桌面管理程序,方法如下
查看是否装了GNOME
#which gdm
如果安装了GNOME,输出会是
/usr/sbin/gdm
查看是否安装了KDE
#which kdm
如果安装了,输出会是
/usr/bin/kdm
知道了自己的系统支持的桌面管理软件后,我们就可以动手修改前面提到的配置文件了。
1. 修改/etc/sysconfig/desktop
此文件可能会在系统升级之后丢失,所以在启动时系统可能会找不到桌面管理程序而“拒绝登录”。如果发现自己的系统里没有此文件,需要手工创建它,然后加上一行
DISPLAYMANAGER=gdm
或者
DISPLAYMANAGER=kdm
具体是什么要根据自己的喜好和系统的支持了。
保存退出之后,重启就可以了。
2. 直接修改/etc/X11/prefdm
系统启动完毕后会读取此文件,然后启动相应的桌面管理程序。以下就是这段代码
# 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
它首先读取/etc/sysconfig/desktop来获取要使用的桌面管理程序,所以如果你不关心desktop的配置,自己手工指定的话,可以直接修改这段代码让它使用指定的桌面管理程序了。
# Run preferred X display manager
preferred=/usr/sbin/gdm
#if [ -f /etc/sysconfig/desktop ]; then
# . /etc/sysconfig/deskto
# 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
这里的xdm我不知道是什么啦,不过如果你的系统只支持xdm,你就要指定为它了。
改好后保存退出,然后重启就可以啦。