我最近将系统从 Linux Mint 18.3 升级到 Linux Mint 19。
升级后我无法登录 XFCE 会话。在登录屏幕上输入密码后,屏幕变黑并显示一条消息:
rc.local[1314]: Cannot open display "default display"
然后再次显示登录屏幕。
仅以恢复模式启动即可,但没有适当的图形支持。另外,如果我在 GRUB 菜单中选择 Linux 4.10.0.38,我也可以正常启动,尽管系统重新启动时会出现上述消息。怎么解决才能正常登录呢?
我尝试过调整默认显示设置/etc/init.d/lightdm
,但似乎对这个问题没有任何影响。
编辑:
我发现该消息来自/var/log/syslog
:
systemd[1]: Started Network Manager Wait Online.
systemd[1]: Reached target Network is Online.
systemd[1]: Starting LSB: Start NTP daemon...
systemd[1]: Starting /etc/rc.local Compatibility...
systemd[1]: Starting LSB: disk temperature monitoring daemon...
systemd[1]: Starting LSB: Cisco AnyConnect Secure Mobility Client for Linux...
rc.local[1376]: Cannot open display "default display"
systemd[1]: rc-local.service: Control process exited, code=exited status=255
systemd[1]: rc-local.service: Failed with result 'exit-code'.
systemd[1]: Failed to start /etc/rc.local Compatibility.
编辑2:
这个问题让我对 Linux 内部结构有了更多的了解。我发现 systemd 出于兼容性目的而运行 rc.local 话题来自 AskUbuntu 社区的帮助我调试 rc.local。
我发现错误消息的原因是 /etc/rc.local 文件,除了导致此消息的 setxkbmap 命令之外,该文件是空的。
注释掉这一行后,rc.local 不再失败,但 XFCE 桌面无论如何都无法启动。我同时安装了 MATE 和 Cinnamon,它们似乎没有任何问题。删除和安装 XFCE 没有帮助,但这对我来说没什么影响,因为我可以继续使用我的系统,没有任何问题。
从中得到的主要教训是,从头开始重新安装可能比升级更安全,但如果系统不是那么关键,那么升级可能会遇到一些小麻烦。
然而,最初的问题可能仍然没有答案。
答案1
编辑 我用谷歌搜索了日志的最后一行,发现了这个
复制自肖恩·J·戈夫
chvt
允许您更改虚拟终端。
从man chvt
:
The command chvt N makes /dev/ttyN the foreground terminal. (The corresponding screen is created if it did not exist yet. To get rid of unused VTs, use deallocvt(1).) The key combination (Ctrl-)LeftAlt-FN (with N in the range 1-12) usually has a similar effect.