答案1
这可能是由 Compiz 中纹理加载方式的错误引起的,Compiz 是运行 Unity 的 Ubutnu 中的合成器。Compiz 负责将图像和内容加载到纹理中。当您的笔记本电脑进入挂起状态时,GPU 会忘记它的内存(否则它必须保持开机状态或将其保存到磁盘)
Compiz 可能存在一个错误,即某些驱动程序(如 nVidia 驱动程序)清除视频内存会导致纹理无效。这不会发生在我的英特尔系统上,因为 GPU 和 CPU 基本上共享相同的内存,这些内存保持在低功耗状态(并且不会丢失)
无论哪种方式,您的解决方案可能是重新启动 compiz:
setsid compiz --replace &
重要的是要认识到这个命令有很多陷阱:
必须使用
setsid
或其他东西来确保它不会在其父级消失时被杀死。否则,在您关闭终端后,compiz 将崩溃。必须从带有显示器的桌面运行。如果您切换到另一个终端/显示器并运行此命令,它将不知道要使用哪个 X 显示器(您必须在其前面加上
DISPLAY=:0
或类似如果您省略,
&
您将无法运行更多命令,因为 compiz 将在您的终端中运行,关闭它可能会使 compiz 崩溃。
答案2
从这里
解决方案发现该问题存在于以前版本中。该问题与显卡驱动程序有关,特别是 NVIDIA。
解决方案很简单:
以 root 身份进入终端:
cd /etc/pm/sleep.d/
$:触摸 compiz-fix.sh
$: nano compiz-fix.sh
!/bin/bash setsid compiz——替换
出口 0
ctrl+x 保存
$:chmod + x compiz-fix.sh
要删除更改,只需以 root 身份执行:
$: rm compiz-fix.sh
对我来说很有魅力!