我使用更新管理器将服务器从 centos 6.5(带有 gnome2)升级到 7。
问题是我无法看到登录屏幕或桌面。
但鼠标指针是可见的。
我删除了旧的过时的软件包,运行了更新,安装了 gnome 桌面,但什么都不起作用。
重启后,类似 anaconda 安装程序的屏幕弹出许可证验证和用户创建提示。完成后,屏幕再次变为空白,只有鼠标指针。
当我运行带有登录名的应用程序时,ssh -X
它会提示:
libGL error: failed to load driver: nouveau
我已经xorg-x11-drv-nouveau-1.0.10-5.el7.x86_64
安装了。
我重新安装了xorg-x11-drv-nouveau
,mesa-libGL
但问题仍然存在。
LIBGL_DEBUG=verbose
输出如下:
libGL: OpenDriver: trying /usr/lib64/dri/tls/nouveau_dri.so
libGL: OpenDriver: trying /usr/lib64/dri/nouveau_dri.so
libGL error: failed to open drm device: No such file or directory
libGL error: failed to load driver: nouveau
libGL: OpenDriver: trying /usr/lib64/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /usr/lib64/dri/swrast_dri.so
libGL: Can't open configuration file /root/.drirc: No such file or directory.
难道不应该使用nouveau_drv.so
而不是 吗nouveau_dri.so
?
systemctl status gdm.service
说 gdm 处于活动状态并正在运行,但是出现了一些错误:
gnome-session[2734]: JS ERROR: !!! lineNumber = '475'
gnome-session[2734]: JS ERROR: !!! stack = '"notify("Unable to lock","Lock was blocked by an application")@/usr/share/gnome-shell/js/ui/main.js:475
gnome-session[2734]: notifyError("Unable to lock","Lock was blocked by an application")@/usr/share/gnome-shell/js/ui/main.js:495
gnome-session[2734]: GLib-GIO-CRITICAL: g_dbus_connection_call_internal: assertion `object_path != NULL && g_variant_is_object_path (object_path)' failed
重新启动 gdm 没有帮助:
systemd[1]: Starting GNOME Display Manager...
systemd[1]: Started GNOME Display Manager.
gdm[780]: Child process 791 was already dead.
gdm[780]: GLib-GObject: g_object_ref: assertion `object->ref_count > 0' failed
gdm[780]: GLib-GObject: g_object_unref: assertion `object->ref_count > 0' failed
gdm[780]: GdmDisplay: display lasted 0.030752 seconds
gdm[2087]: GLib-GObject: g_object_unref: assertion `object->ref_count > 0' failed
我不明白是什么导致了这个问题。
答案1
我觉得你的 GUI 桌面安装不完整。我不怪你,要弄清楚要安装什么有点困难,而且很可能缺少一些软件包。我希望没有 6.5 留下的东西(即你在升级之前先删除了 GNOME 桌面和 X)
与yum groupinstall ...
去年相比,已经发生了很大变化。这不会解决任何图形驱动程序问题,但至少应该可以安装默认的 VGA 驱动程序并希望它能正常工作。
尝试以下操作,它来自我正在为 CentOS 6.5 -> 7 升级编写的 HOWTO。我仍在编写指南,因此如果您有任何贡献,请发表评论。
在您的终端,以 root 身份(或 sudo ....)
yum groups mark convert
将旧的 CentOS 6 组软件包组转换为新的 v7 组。
yum groups install "GNOME Desktop"
安装 GNOME(和 X)软件包,其中一些可能尚未安装。
然后看看您是否可以 startx 来启动 GUI。
如果可以,您可以打开 GUI 登录屏幕(plymouth)。
ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target
使 X 和窗口管理器默认启动并显示图形登录屏幕。(这是systemd
修改 的替代方法inittab
。)
答案2
我思考顺便说一句,我知道这个问题的答案。
我做了很多事情,例如重新安装软件包等,但是当我用升级期间创建的 /etc/pam.d/*.rpmnew 文件替换 /etc/pam.d 中的文件时,它开始工作。替换 PAM 文件时要小心或者您很容易将自己锁定在系统之外。
我从这个页面的某个地方得到了灵感:
http://forums.gentoo.org/viewtopic-t-979434-start-0.html
我之前曾检查过 .rpmnew 文件,但忽略了 pam.d