将 ubuntu 升级到 16.04 后,一些图形功能开始无法正常工作。例如,ccsm
从命令行运行会出现以下错误:
Traceback (most recent call last):
File "/usr/bin/ccsm", line 32, in <module>
import gtk
File "/usr/lib/python2.7/dist-packages/gtk-2.0/gtk/__init__.py", line 40, in <module>
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
:
01:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Bonaire XTX [Radeon R7 260X/360] [1002:6658]
答案1
我最近遇到了这个问题,并将其追溯到不兼容的副本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
它指向正确的位置,重新安装它也可能会有所帮助。
答案2
看起来你缺少 libgtk2.0-0:amd64 包
sudo apt-get install libgtk2.0-0:amd64
我通过在我的系统上找到文件并运行来验证这一点
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