软件源需要 GTK 2,无法在 11.04 上运行

软件源需要 GTK 2,无法在 11.04 上运行

我试图访问更新管理器中的设置来设置自动更新。但设置对话框没有弹出。也无法从 Ubuntu 软件中心 > 编辑 > 软件源... 访问软件源。当我尝试从终端运行软件源时,出现以下错误。

$ sudo software-properties-gtk
Traceback (most recent call last):
  File "/usr/bin/software-properties-gtk", line 26, in <module>
    gi.require_version('Gtk', '2.0')
  File "/usr/lib/python2.7/dist-packages/gi/__init__.py", line 46, in require_version
    raise ValueError('Namespace %s not available' % namespace)
ValueError: Namespace Gtk not available

我理解该软件包正在寻找 GTK 命名空间,并且需要 Gtk 版本 2.0。尝试检查安装了哪个版本的 GTK,我运行以下命令并得到

$ apt-cache showpkg libgtk2.0-0 | more
Package: libgtk2.0-0
Versions: 
2.24.4-0ubuntu2 (/var/lib/apt/lists/Ubuntu%2011.04%20%5fNatty%20Narwhal%5f%20-%2
0Release%20i386%20(20110426)_dists_natty_main_binary-i386_Packages) (/var/lib/ap
t/lists/us.archive.ubuntu.com_ubuntu_dists_natty_main_binary-i386_Packages) (/va
r/lib/dpkg/status)
 Description Language: 
                 File: /var/lib/apt/lists/Ubuntu%2011.04%20%5fNatty%20Narwhal%5f
%20-%20Release%20i386%20(20110426)_dists_natty_main_binary-i386_Packages
                  MD5: 3ed10be69b676a812afff2c7fdaa4017

如何让软件源运行?

更新:
找到相关问题这里.我安装了python2.5,但是没有设置符号链接,上面的日志提到了python2.7

答案1

我遇到了同样的问题,最后终于解决了!仅供参考,重新安装上述软件包没有帮助。这就是我所做的。

根据pygi 文档,如果你输入

python -c 'from gi.repository import Gtk; print Gtk'

你应该得到

<gi.module.DynamicModule 'Gtk' from '/usr/lib/girepository-1.0/Gtk-3.0.typelib'>

(Gtk-2.0 取决于您安装的版本。我有 Gtk-2.0。)

这给了我线索。Gtk 类型库确实在那里,但我怀疑girepository-1.0我的文件系统中可能还有另一个目录优先。使用命令,locate我找到了它/usr/local/lib以及几个libgirepository-1.0*库。这个目录不包含 Gtk 类型库。所以我只是将它与库一起删除,问题就解决了。

答案2

由于 software-properties 是一个 Python 应用程序,它实际上依赖于 package gir1.2-gtk-2.0。如果你没有安装这个包,那么依赖关系就被破坏了。使用 Synaptic 检查一下。

否则,重新安装受影响的软件包可能会有帮助:

sudo apt-get install --reinstall gir1.2-gtk-2.0 python-software-properties software-properties-gtk

答案3

与上述解决方案相同,只是我在 /usr/local 目录中创建了一个指向 /usr/lib/girepository-1.0 的软链接。我还重命名了旧目录。

ls -l

drwxr-xr-x 2 root root 4,0K loka 14 14:08 girepository-1.0_old

lrwxrwxrwx 1 根 根 25 loka 14 14:10 girepository-1.0 -> /usr/lib/girepository-1.0

否则就行不通了。

相关内容