问题:
从 18.04 升级到 18.10 后,X 无法在我的两台旧 DELL 电脑上启动,直到我手动运行:
init 3
init 5
细节:
启动过程结束时,屏幕上会显示所有启动消息。其中最后几行是:
[ OK ] Started /etc/rc.local Compatibility
Starting GNOME Display Manager...
Starting Hold until boot process finishes up...
[ OK ] Started GNOME Display Manager.
此时一切似乎都挂了。因此,我从另一台计算机进行 ssh,并观察到以下情况:
- 这些文件
/var/log/Xorg.*
是空的(我在重新启动之前清除了它们)因此看起来没有尝试启动 X。 - htop 显示 CPU 使用率为 0%,只使用了几百 MB 的 RAM(两台计算机都有 16G 的 RAM)
- 如果我运行
sudo init 3
,启动信息就会被清除,最后我会看到一个控制台登录屏幕 - 如果我运行
sudo init 5
,X 最终会启动,然后我得到图形登录屏幕
出现此问题的两台计算机都是较旧的 DELL 台式机,配备了不同的 nvidia 卡:
> ubuntu-drivers devices
...
vendor : NVIDIA Corporation
model : G84 [GeForce 8600 GT]
driver : nvidia-340 - distro non-free recommended
和:
> ubuntu-drivers devices
...
vendor : NVIDIA Corporation
model : G98 [Quadro NVS 295]
driver : nvidia-340 - distro non-free recommended
我了解最新的软件包:
> cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.10
DISTRIB_CODENAME=cosmic
DISTRIB_DESCRIPTION="Ubuntu 18.10"
> sudo apt-get update ; sudo apt-get dist-upgrade
...
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
答案1
我仍然不知道为什么会发生这种情况。与此同时,我决定采用以下方法来解决这个问题:
cd /etc/cron.d/
sudo vi workaround_to_start_x
复制粘贴以下内容:
# see: https://askubuntu.com/questions/1093808/x-wont-start-after-upgrade-to-18-10
MAILTO=""
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
@reboot root sleep 30 ; init 3 ; init 5
保存文件,然后重新启动设备。启动 30 秒后,X 现在启动。
(不知道 30 秒的暂停是否必要,但我认为我会给它一个相当不错的机会来启动启动时需要启动的任何其他程序。)
答案2
我遇到了同样的问题。加载 18.10 时,机器在启动时的不同行冻结。Alt+F2(F3) 可以通过进入控制台模式并输入 startX 来解决这个问题。但它会使用默认驱动程序加载(我有 GTX980 和最新驱动程序)。出于某种原因,在 Ubuntu 徽标阶段按 Alt+F2(通常在此处冻结并进入控制台模式,并且每隔一段时间就会卡在不同的行)对我有用,并加载 Nvidia 驱动程序。其余的都正常工作。