某些窗口变暗,就像在 GNOME 中没有响应一样

某些窗口变暗,就像在 GNOME 中没有响应一样

我已经在 Ubuntu 17.04 上使用 GNOME 有一段时间了,从来没有遇到过如此突然的问题。

现在有些窗口变暗,好像没有响应一样。以下是 Rhythmbox 和 PulseEffect 打开时的屏幕截图: Rhythmbox 和 PulseEffects 打开 您会注意到 PulseEffects 窗口变暗了。文件 (Nautilus)、终端 (GNOME Terminal)、视频 (Totem)、照片 (Eye of GNOME)、系统设置和许多其他窗口(但不是全部)也会出现这种情况,例如 Rhythmbox、Google Chrome、Firefox 和 Blender 都正常。

我从软件更新程序弹出窗口安装了一些软件更新后发生了这种情况,但我记不清具体更新了哪些。此外,安装这些更新后,GDM3 上的 GNOME on Wayland 选项消失了,这让我认为是图形驱动程序更新导致了这种情况。

我在 X 上使用 GNOME(这应该是显而易见的,因为我提到过 Wayland 上的 GNOME 不可用)。

有什么想法吗?提前致谢。

编辑

以下是输出cat /etc/ld.so.conf.d/*.conf

/usr/lib/x86_64-linux-gnu/libfakeroot
# Multiarch support
/lib/i386-linux-gnu
/usr/lib/i386-linux-gnu
/lib/i686-linux-gnu
/usr/lib/i686-linux-gnu
/usr/lib/i386-linux-gnu/mesa
# libc default configuration
/usr/local/lib
# Multiarch support
/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu/mesa-egl
/usr/lib/x86_64-linux-gnu/mesa

答案1

安装新的 Intel Graphics 驱动程序后,我遇到了同样的问题。原因是 共享库之间的动态链接形成方式ld.so。我从不同的来源找到了一些片段,并采取了以下步骤来修复它。

1:检查/etc/ld.so.conf

ldconfig用于更新/维护链接的配置。在 SO我发现它查找的路径列表基于文件/etc/ld.so.conf,该文件应该只包含一行并且应该如下所示:

$ cat /etc/ld.so.conf
include /etc/ld.so.conf.d/*.conf

2:检查文件/etc/ld.so.conf.d/

文件夹内的文件/etc/ld.so.conf.d/包含包含共享库的不同路径。要检查,请列出*conf文件夹中的所有文件。我的文件夹中有文件和链接,看起来像这样。但根据安装的软件包,它可能有所不同。

$ ls -Ahl /etc/ld.so.conf.d/
total 16K
-rw-r--r-- 1 root root 38 aug 12  2016 fakeroot-x86_64-linux-gnu.conf
-rw-r--r-- 1 root root 24 sep 27 20:41 ld.so.conf
-rw-r--r-- 1 root root 48 sep 27 20:43 x86_64-linux-gnu.conf
lrwxrwxrwx 1 root root 43 jun  8 11:51 x86_64-linux-gnu_EGL.conf -> /etc/alternatives/x86_64-linux-gnu_egl_conf
lrwxrwxrwx 1 root root 42 jun  8 11:51 x86_64-linux-gnu_GL.conf -> /etc/alternatives/x86_64-linux-gnu_gl_conf
-rw-r--r-- 1 root root 18 sep 27 20:43 zz_i386-biarch-compat.conf

及其内容,使用以下命令逐一列出cat(某些文件有注释,此处未显示):

$ cat /etc/ld.so.conf.d/*.conf
/usr/lib/x86_64-linux-gnu/libfakeroot
/usr/lib
/usr/lib/x86_64-linux-gnu
/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu/mesa-egl
/usr/lib/x86_64-linux-gnu/mesa
/lib32  

3:添加缺失的路径

更改任何文件之前请先备份! 第一个问题可能是文件中缺少路径.conf。例如,我必须添加/user/local/lib并习惯于sudo nano ld.so.conf添加它。我将其添加/usr/lib32zz_i386-biarch-compat.conf。使用 Googlelddldconfig查找缺少的路径。通常不需要从这些文件中删除行。


4:重新排序文件及其条目

现在,问题是ld.so按照文件保存的顺序读取文件及其行(我发现这里)。我使用了一个文件名数组和一个新前缀数组来重命名文件。条目/mesa...必须位于条目之前,(/usr)/lib/x86_64-linux-gnu/以便对图形库进行排序。

$ cd /etc/ld.so.conf.d
$ files=(*)                                    #filename array
$ numbers=(1 2 5 3 4 6)                        #order array
$ for i in ${!files[@]}; do
$  sudo mv -i ${files[$i]} ${numbers[$i]}0_${files[$i]};
$ done
$ cat /etc/ld.so.conf.d/*.conf                 #Check the order
/usr/lib/x86_64-linux-gnu/libfakeroot
/usr/local/lib
/usr/lib
/usr/lib/x86_64-linux-gnu/mesa-egl
/usr/lib/x86_64-linux-gnu/mesa
/usr/lib/x86_64-linux-gnu
/lib/x86_64-linux-gnu
/usr/lib32
/lib32

5:重新配置库并重新启动

$ sudo ldconfig                                #sudo ldconfig -v (for output)
$ sudo reboot  

重启后,一切都恢复了原样(更浅的窗口、紫色的 gnome 终端、更好的字体渲染)。如果它对你有用,请告诉我。

相关内容