当我为笔记本电脑充电时,如何通过屏幕上的冻结和工件修复Unity?

我今天早上醒来发现我的电脑被冻结了,我的图形也没有正确渲染。 我不得不按Ctrl + Alt + F1重新获得对系统的控制权。

起初我认为这是我的NVidia驱动程序,因为有时候我的屏幕进入睡眠状态时它会搞乱,因为我有一台设置为1080p的双显示器,当Nvidia检测到我的显示器时,它检测到它们错误并调整显示器的大小,这会崩溃Compiz的。 但这次我不认为这是问题所在。

我最近将我的内核升级到3.2.0-58-generic,当发生这种情况时,它没有正确完成安装后。 我的理论是Nvidia内核模块没有更新。 所以我试图从Nvidia安装驱动程序。 我无法让它们工作,所以我最终删除它们并重新安装Ubuntu nvidia-current和nvidia-settings软件包。 这使我的系统恢复了。 但我仍然遇到屏幕冻结和屏幕上显示的文物的问题,无论有没有第二台显示器。

我开始怀疑我的硬件主要是显卡或电源。 似乎如果我取下电源并耗尽电池,它运行得很好。 所以我想也许我的电源供应脏电,所以我换了一个新电源,但我仍然遇到同样的问题,不同的电源。

当我为笔记本电脑充电时,如何通过屏幕上的冻结和工件修复Unity?

我在Ubuntu 12.04内核3.2.0-58-general nvidia GeForce GTX 560M上运行System 76 GazP6

以下是我的Xorg.0.log中可能有用的一些信息:

[ 1074.299] [mi] EQ overflowing. Additional events will be discarded until existing events are processed. [ 1074.299] Backtrace: [ 1074.321] 0: /usr/bin/X (xorg_backtrace+0x26) [0x7f5099a05a86] [ 1074.321] 1: /usr/bin/X (mieqEnqueue+0x263) [0x7f50999e6163] [ 1074.321] 2: /usr/bin/X (0x7f509987d000+0x62a44) [0x7f50998dfa44] [ 1074.321] 3: /usr/bin/X (xf86PostMotionEvent+0xd8) [0x7f509991d128] [ 1074.321] 4: /usr/lib/xorg/modules/input/synaptics_drv.so (0x7f5091668000+0x4148) [0x7f509166c148] [ 1074.321] 5: /usr/lib/xorg/modules/input/synaptics_drv.so (0x7f5091668000+0x61b0) [0x7f509166e1b0] [ 1074.321] 6: /usr/bin/X (0x7f509987d000+0x8af47) [0x7f5099907f47] [ 1074.321] 7: /usr/bin/X (0x7f509987d000+0xb0d4a) [0x7f509992dd4a] [ 1074.321] 8: /lib/x86_64-linux-gnu/libpthread.so.0 (0x7f5098ba3000+0xfcb0) [0x7f5098bb2cb0] [ 1074.321] 9: /usr/lib/x86_64-linux-gnu/xorg/extra-modules/nvidia_drv.so (0x7f50925e8000+0x13abf1) [0x7f5092722bf1] [ 1074.321] 10: /usr/lib/x86_64-linux-gnu/xorg/extra-modules/nvidia_drv.so (0x7f50925e8000+0x1450a7) [0x7f509272d0a7] [ 1074.321] 11: /usr/lib/x86_64-linux-gnu/xorg/extra-modules/nvidia_drv.so (0x7f50925e8000+0x146f48) [0x7f509272ef48] [ 1074.321] 12: /usr/lib/x86_64-linux-gnu/xorg/extra-modules/nvidia_drv.so (0x7f50925e8000+0x148001) [0x7f5092730001] [ 1074.321] 13: /usr/lib/x86_64-linux-gnu/xorg/extra-modules/nvidia_drv.so (0x7f50925e8000+0x14b8f5) [0x7f50927338f5] [ 1074.321] 14: /usr/lib/x86_64-linux-gnu/xorg/extra-modules/nvidia_drv.so (0x7f50925e8000+0x16a9ed) [0x7f50927529ed] [ 1074.321] 15: /usr/lib/x86_64-linux-gnu/xorg/extra-modules/nvidia_drv.so (0x7f50925e8000+0x135eb4) [0x7f509271deb4] [ 1074.321] 16: /usr/lib/x86_64-linux-gnu/xorg/extra-modules/nvidia_drv.so (0x7f50925e8000+0x4acd42) [0x7f5092a94d42] [ 1074.321] 17: /usr/lib/x86_64-linux-gnu/xorg/extra-modules/nvidia_drv.so (0x7f50925e8000+0x4b82e1) [0x7f5092aa02e1] [ 1074.321] 18: /usr/bin/X (0x7f509987d000+0x4e8a1) [0x7f50998cb8a1] [ 1074.321] 19: /usr/bin/X (0x7f509987d000+0x3d7ba) [0x7f50998ba7ba] [ 1074.321] 20: /lib/x86_64-linux-gnu/libc.so.6 (__libc_start_main+0xed) [0x7f5097a2376d] [ 1074.321] 21: /usr/bin/X (0x7f509987d000+0x3daad) [0x7f50998baaad] [ 1074.321] [mi] These backtraces from mieqEnqueue may point to a culprit higher up the stack. [ 1074.321] [mi] mieq is *NOT* the cause. It is a victim. 

看来答案是使用专有的NVidia驱动程序版本331.20

下拉到命令行

Ctrl + Alt + F1

停止团结

 sudo service lightdm stop 

卸载ubuntu nvidia驱动程序

 sudo apt-get --purge remove nvidia-glx-* nvidia-settings 

备份xorg.conf

 sudo mv xorg.conf xorg.conf.backup 

重新生成xorg.conf

 sudo Xorg -configure sudo mv ~/xorg.conf.new /etc/X11/xorg.conf 

安装NVidia驱动程序

下载NVidia驱动程序

 sudo sh NVIDIA-Linux-x86_64-331.20.run 

启动Unity

 sudo service lightdm start 

如果不尝试Ctrl + Alt + F7,你应该被带回X显示器

查看/var/log/Xorg.0.log中的任何错误。