2018 年 1 月 4 日更新后,GUI/Unity 在 16.04 LTS 中崩溃,compiz 段错误

Jan*_*hou 41 gui unity crash 16.04

最新更新 (4/1/2018) 使我的笔记本电脑不断地使 GUI/Unity 崩溃:

(英特尔奔腾 su4100 处理器)

系统日志:

Jan  5 11:38:53 1810 kernel: [ 1850.327738] compiz[11911]: segfault at 0 ip 00007f6c7baf0c16 sp 00007ffd5ec71c60 error 4 in i965_dri.so[7f6c7b513000+82d000]
Run Code Online (Sandbox Code Playgroud)

登录后,我最终得到一个空桌面,只有一张墙纸,GUI/Unity 处于崩溃循环中:

  • 没有面板。
  • 没有破折号。
  • 无法启动程序。
  • 启动器消失。
  • 侧边栏消失。
  • 系统崩溃。
  • Windows 键不起作用。
  • 组合键Alt+Tab不起作用。

很简单,电脑不能用。来宾登录也一样。唯一的工作:打开一个终端CTRL+ ALT+T检查日志文件。

我以某种方式强制Unity 上的低图形模式让我登录并提交错误,但仍然存在很多问题:

  • 破折号不工作
  • Alt+Tab不工作
  • 有时窗户会消失几秒钟

错误报告

任何解决方案或解决方法的想法?

更新

如果您有相同/非常相似的问题,请点击我的错误 报告的链接,并在那里标记您也受到了影响。或者自己存档。如果您愿意,请发表评论或投票 - 这是一个令人讨厌的问题 - 但答案应该提供修复或解决方法,以便用户可以再次使用他们的计算机。

如果没有正确的错误报告,Ubuntu 无法修复问题。

Jan*_*hou 33

四月更新

我在 2018 年 4 月 26 日再次被这个错误/症状击中。我可以通过应用三月修复并另外清理崩溃目录来解决它。

rm ~/.config/upstart/lowgfx.conf
sed -i 's/-lowgfx//' ~/.config/compiz-1/compizconfig/config
rm -r ~/.cache/
sudo rm -r /var/crash/*
reboot
Run Code Online (Sandbox Code Playgroud)

2018 年 3 月更新。

从 2018 年 3 月开始,几个用户似乎有一个或多或少相同症状的错误。这个新错误在 compiz-config 中,而不是 compiz。并且不那么严重:访客会话和低图形模式工作正常。 新的错误报告

修复(对于大多数用户):

rm ~/.config/upstart/lowgfx.conf
sed -i 's/-lowgfx//' ~/.config/compiz-1/compizconfig/config
rm -r ~/.cache/
reboot
Run Code Online (Sandbox Code Playgroud)

说明: 删除任何 lowgfx.conf 文件并更改 profile = unity-lowgfxprofile = unityin .config/compiz-1/compizconfig/config。清理主目录中的 .cache 目录。重新启动。感谢所有在错误报告中做出贡献的人。

如果您在 3 月及以上解决方案不起作用,请在错误报告中留言。尝试解决方法 3(见下文)。否则尝试在 CCSM 中调整 compiz 设置。或者删除/清理你的 ~/.cache 目录。


错误修正(一月)

此错误现已修复。更新在 Xenial-updates 中,因此更新将解决问题。

 sudo apt update && sudo apt upgrade -y
Run Code Online (Sandbox Code Playgroud)

您可以禁用建议:

 System Settings -> Software & Updates -> Tab Developer options -> uncheck proposed
Run Code Online (Sandbox Code Playgroud)

或者恢复您的任何解决方法。

背景

此错误已确认并由 2018-01-04 至 17.2.4 的台面更新引起。该错误现在被标记为与2017 年 12 月 1提交早期错误的重复,不幸的是该错误被错误归档

只有较旧的英特尔,大约 2006-2011 年,带有集成显卡 (gen4/5) 受到影响,所以这就是它没有通过测试的原因。而且它似乎只影响 Unity,而不影响 Gnome 或 LXDE。

以下信息已过时

此错误的补丁将很快在 xenial-proposed 中提供。请通过测试这个新包来帮助 Ubuntu。有关如何启用和使用 -proposed 的文档,请参阅https://wiki.ubuntu.com/Testing/EnableProposed错误报告页面提供反馈,以帮助将此更新发送给其他 Ubuntu 用户。有关信息,请参阅评论 48。

要启用建议(请先阅读以上链接中的信息)

 System Settings -> Software & Updates -> Tab Developer options -> check proposed
Run Code Online (Sandbox Code Playgroud)

安装补丁

  sudo apt-get install libgl1-mesa-dri/xenial-proposed
  sudo reboot
Run Code Online (Sandbox Code Playgroud)

然后添加一个文件/etc/apt/preferences.d/proposed-updates

 Package: *
 Pin: release a=xenial-proposed
 Pin-Priority: 400
Run Code Online (Sandbox Code Playgroud)

这将保护您在下次执行sudo apt upgrade. 你不想那样。

如果安装补丁之前添加此文件,您将收到依赖项错误消息。

如果您使用 PPA 作为解决方法,则必须先清除它。

 sudo ppa-purge ppa:paulo-miguel-dias/pkppa
 sudo reboot
Run Code Online (Sandbox Code Playgroud)

在修复此错误之前,有哪些解决方法?

1. 安装 lubuntu-desktop (LXDE) 到 unity

sudo apt-get install lubuntu-desktop
Run Code Online (Sandbox Code Playgroud)

这将需要大约 400MB 并安装 Abiword 之类的东西,您可以稍后删除它们以节省磁盘空间。只需在登录时选择 Lubuntu。问题解决后,再次删除 lubuntu-desktop。

2. 降级mesa-packages

这在错误报告中有所描述。它可能会产生不需要的副作用并破坏依赖性,因此请自行决定。

看起来这4 个软件包需要降级:

libegl1-mesa 17.2.4-0ubuntu1~16.04.2
libgbm1 17.2.4-0ubuntu1~16.04.2
libgl1-mesa-dri 17.2.4-0ubuntu1~16.04.2
libwayland-egl1-mesa 17.2.4-0ubuntu1~16.04.2
Run Code Online (Sandbox Code Playgroud)

一种方法是从本评论中的链接下载它们并按照说明进行操作。dpkg -i *.deb

如果您使用 Wine,您也需要i386 软件包

防止从这 4 个包自动升级。一旦错误解决,不要忘记删除该文件。

3.使用低显卡模式

这将减轻错误并为您提供一个有点工作的 GUI。但:

  • 破折号不工作
  • Alt 选项卡不起作用
  • 注销、重启和停止需要通过终端完成,对于不在启动器中的程序也是如此
  • 超级键(Windows)不起作用

也就是说:启动器、工作区切换和键盘快捷键都在工作,所以只需将您的程序分布在工作区上:)

创建文件 ~/.config/upstart/lowgfx.conf

start on starting unity7
pre-start script
initctl set-env -g UNITY_LOW_GFX_MODE=1
end script
Run Code Online (Sandbox Code Playgroud)

注销并登录。

4. 购电协议

通过PPA 将台面更新到更新版本。解决问题后,不要忘记清除 PPA。这可能是最好的选择。在应用以下代码之前,请阅读PPA 页面上信息

 sudo apt-add-repository ppa:paulo-miguel-dias/pkppa
 sudo apt update && sudo apt upgrade -y
 sudo reboot
Run Code Online (Sandbox Code Playgroud)

重新启动,应该没问题。如果没有,请在错误报告中留言。

当错误解决时,不要忘记清除 PPA。

 sudo ppa-purge ppa:paulo-miguel-dias/pkppa
Run Code Online (Sandbox Code Playgroud)

5. 从 HWE 降级到股票内核(和 mesa/x-server)

Bug 是由 mesa (17.2.4) 更新引起的,并且 mesa 是沿着 HWE 堆栈中的内核更新的。返回库存内核(4.4)将解决该问题,它将台面降级到 11.2。

sudo apt install --install-recommends xserver-xorg xserver-xorg-core
xserver-xorg-video-all xserver-xorg-input-all xserver-xorg-video-intel 
server-xorg-video-qxl
sudo reboot
Run Code Online (Sandbox Code Playgroud)

这将删除所有 HWE 包。可能是最安全的解决方案。

希望 这个错误 错误将很快解决。考虑帮助 Ubuntu进行测试。