升级到16.04后libgtk出现问题

将ubuntu升级到16.04后,一些图形内容开始无法正常工作。 例如,从命令行运行ccsm将给出以下错误:

 Traceback (most recent call last): File "/usr/bin/ccsm", line 32, in  import gtk File "/usr/lib/python2.7/dist-packages/gtk-2.0/gtk/__init__.py", line 40, in  from gtk import _gtk ImportError: /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0: undefined symbol: XRRGetMonitors 

font-manager给出以下错误:

 Error: Importing pygtk and gtk modules failed (/usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0: undefined symbol: XRRGetMonitors) 

我该怎么办 ?

显卡:AMD Radeon R7 260X。

输出lspci -nn | grep VGA lspci -nn | grep VGA

 01:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Bonaire XTX [Radeon R7 260X/360] [1002:6658] 

我最近遇到了这个问题,并将其追溯到libXrandr.so.2的不兼容副本

在有问题的机器上:

 [20:45:36] [shane@ShanePC:~]$ ldd /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0 | grep -i randr libXrandr.so.2 => /usr/local/lib/libXrandr.so.2 (0x00007fc9133be000) [20:45:43] [shane@ShanePC:~]$ 

在没有问题的机器上:

 [21:07:46] [shane@Xion:~]$ ldd /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0 | grep -i randr libXrandr.so.2 => /usr/lib/x86_64-linux-gnu/libXrandr.so.2 (0x00007f1542b7b000) [21:07:51] [shane@Xion:~]$ 

/usr/local/lib/ (从2014年开始)删除杂散库解决了我的实例中的问题。

正确的库来自libxrandr2包,因此重新安装也可能有助于ldd将其指向正确的位置。

看起来你错过了libgtk2.0-0:amd64包

 sudo apt-get install libgtk2.0-0:amd64 

我通过查找系统上的文件并运行来validation这一点

 dpkg -S /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0 

我的预感是你会有更多缺少的库,因为安装的某些部分无法正常工作。 可能值得运行这些命令以确保您拥有所需的所有软件包。

 sudo apt-get update sudo apt-get dist upgrade 

编辑:

看起来你可能有一个损坏的文件版本,你可以尝试重新安装该包

  sudo apt-get purge libgtk2.0-0:amd64 sudo apt-get install libgtk2.0-0:amd64