我遇到了Xserver
启动失败的问题。这种情况并不是一直发生,但发生时,不是显示登录屏幕,而是收到一些模糊的一行错误消息,提示某些服务无法启动(现在记不清具体说了什么,而且无法复制粘贴...),而是以下错误消息:
** (plymouthd:313): WARNING **: Command line `dbus-launch --autolaunch=56a6ab7418a994dcd756ff100000002 --binary-syntax --close-stderr' exited with non-zero exit status 1: Autolaunch error: X11 initialization failed.\n
对于那些懒得滚动的人:该行的结尾是Autolaunch error: X11 initialization failed.
完成任何事情的唯一方法是Ctrl+ Alt+Fx到他们的一个 TTY 终端,登录后它会告诉我(一次或两次以上)我Failed to connect to X Server
,并参考 了解/var/log/Xorg.0.log
详细信息。
当刚才发生这件事时,grep /var/log/Xorg.0.log -e EE
给了我这个:
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[ 3.936] Initializing built-in extension MIT-SCREEN-SAVER
[ 3.998] (EE) intel(0): [drm] Failed to open DRM device for pci:0000:00:02.0: No such file or directory
[ 3.998] (EE) intel(0): Failed to become DRM master.
[ 3.998] (EE) Screen(s) found, but none have a usable configuration.
[ 3.998] (EE)
[ 3.998] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[ 3.998] (EE)
我登录并重启。通常重启一次就足以让它工作,但有时需要两三次。
我认为这是由于 Ubuntu 在系统关闭时退出时某些服务没有正确终止造成的,而且 - 因为我也遇到过其他问题 - 如果这与我的显卡有关,我一点也不惊讶(我有一台笔记本电脑,NVidia G550M 和英特尔集成卡),但我不知道接下来该去哪里。
我如何才能确定问题到底出在哪里?可能是某个地方出了问题,还是我的失误?
更新:
正如所建议的那样链接至错误报告我尝试lightdm
从 TTY 终端重新启动,这样我就可以看到一个可以登录的登录屏幕。错误报告谈到此行为是由启动时的竞争条件引起的,因此lightdm
启动时并非所有必需的设备都可用(例如,参见评论 #23 和 #48)。大多数问题都涉及/etc/init/lightdm.conf
以某种方式进行更改,以便通过停顿(例如sleep 2
)来防止竞争条件,或者在第一次尝试崩溃时重生(并希望第二次尝试延迟足够长以成功)。这样的解决方法是“更新安全”的,还是在更新时会被覆盖lightdm
?有没有更好的方法来解决(甚至修复)这个问题?
答案1
这似乎是 lightdm 在视频设备出现之前启动的一个问题。
请参见https://bugs.launchpad.net/ubuntu/+source/lightdm/+bug/969489以寻求解决方法。
对我来说最有效的解决方法之一是
respawn
后
stop on runlevel [016]
这将强制 lightdm 重新启动,直到其正常工作。
此错误报告中描述的解决方法进行了修改/etc/init/lightdm.conf
,因此我建议在更新 lightdm 包时覆盖此文件,以确保它能与 lightdm 的其余部分正确配合使用。如果更新版本中仍未修复该错误,则应重新应用修复。
Debian/Ubuntu 的 dpkg 工具应该在更新期间保留配置文件的原始版本和修改版本。