升级到 17.10 后,我在 Xorg 和 Unity 上使用 GNOME(我最常用的)都没有遇到任何问题。但有一次,在 GNOME 会话中,我无法打开某些应用程序(包括“设置”),从那时起,我就无法登录 GNOME 会话了。
会发生什么 :
- 当尝试登录 GNOME(原始 GNOME 或“Ubuntu”GNOME,以及 Xorg 或 Wayland - 当列出时)时,我输入密码,然后屏幕变黑几秒钟,然后我回到登录屏幕。
当登录 Unity 会话(或多或少有效)时,我收到此错误:
无法应用显示器的存储配置
所需虚拟大小与可用大小不符:请求大小=(1,1),最小大小=(320,200),最大大小=(8192,8192)
后来我注意到启动时显示了更多的行,包括几次这种错误
Error: Method parse/execution failed ...
,ACPI Error: [_OSI] Namespace lookup failure
以及这一行Couldn't get size : 0x800000000000000e
我尝试过:
- 我读此问题(Ubuntu 17.10 登录 wayland 后冻结),但由于我根本无法登录 GNOME,我无法禁用扩展程序来查看是否能解决问题。删除并重新安装 NVIDIA 软件包没有帮助(除了 Intel 默认显卡外,我还有 GeForce GT 840M)。
- 我更换了显卡的驱动程序。我尝试了 NVIDIA 专有驱动程序(版本 384)和“X.Org X 服务器”,唯一改变的就是错误消息中的“最小”和“最大”大小。
- 由于我没有使用任何第二台显示器(我用的是笔记本电脑,所以只有内置显示器),我检查了 Ubuntu 是否没有尝试连接到另一个不存在的显示器,并且在系统设置中没有看到其他显示器。设置还告诉我分辨率是默认分辨率(1366x768),所以我猜它正确识别了内置显示器。在最后一点上我可能(很可能)错了。
- 当然,每次尝试后我都会重新启动系统,以确保它没有解决我的问题。
答案1
我通过发出以下命令解决了:
dpkg-reconfigure lightdm && service lightdm restart
也许同样可以解决 gdm
答案2
我最终按照@Panther 的建议做了:我将 GNOME 重置为这里解释,但我在 Unity 中仍然遇到问题。由于我主要使用 GNOME,所以我并不关心 Unity,但出于其他几个原因,我最终重新安装了 17.10。
由于这个问题出现已经有一段时间了,我对此不太确定,但我似乎记得是 Shell 扩展导致了这个问题。我认为可能是国际空间站上方,因为我在出现问题的那天安装了它,并且在重置后没有重新安装它,但不确定(对于遇到同样问题的任何人来说)。
答案3
我从 16.10 升级到 17.10 后遇到了类似的问题:gnome 会话可以工作,但 unity 会话一直显示“所需的虚拟尺寸不适合[...]”消息并且我的双显示器设置没有被正确处理(显示器被交换了)。
然后我查看了该~/.config/monitors.xml
文件,发现它有改变格式!现在它的顶部是一个<monitors version="
2
">
字符串,而前一个字符串有一个<monitors version="
1
">
字符串,文件的其余部分显示出完全不同的布局和标签。
因此我得出结论“所需的虚拟尺寸不适合[...]”正在显示,unity-settings-daemon
无法解析新monitors.xml
文件的内容。
除此之外,gnome-control-center
由于错误,在 Unity 会话期间显示面板无法工作:
GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.Mutter.DisplayConfig was not provided by any .service files
因此我安装了unity-control-center
,并运行了它,并且确信显示面板正常工作,并且monitor.xml
写入了正确的(以前的版本)。
重启后,一切都按预期运行。
结论
monitor.xml
问题似乎与预期和实际不匹配有关。Unity 和 Gnome shell 编写和解析该文件的不同且不兼容的版本,这使得无法在这两种会话类型之间无缝切换。