你怎么找出是哪个版本的GTK+上安装Ubuntu?
题
我需要确定哪个版本的GTK+上安装Ubuntu
男人似乎并没有帮助
解决方案
这个建议 会告诉你哪些短版本2.0的安装。不同版本将具有不同的软件包的名字,因为他们可以共存系统(为了支持应用程序的建立与旧版本)。
即使对于发展文件,这些文件通常只会让你有一个版本的系统,可以有一个版本的gtk1.x和一个版本的gtk2.0同样的系统(包括文件目录中称为gtk-1.2或gtk-2.0).
因此,在短期也没有一个简单的答案为"是什么版本的GTK是在系统"。但是...
尝试一些东西,如:
dpkg -l libgtk* | grep -e '^i' | grep -e 'libgtk-*[0-9]'
列出的所有libgtk,包括开发的,是在你的系统。 dpkg -l
将列出所有的软件包的话知道有关,包括那些目前没有安装,所以我已经用于查询仅列出那些安装(线开始i)。
或者,可能是更好的如果这是本版的头等等,你有兴趣,使用包-config:
pkg-config --modversion gtk+
会告诉你哪个版本的GTK1.x发展文件的安装,
pkg-config --modversion gtk+-2.0
会告诉你哪个版本的GTK2.0.老1.x版本还具有其自己的gtk-config程序,做同样的事情。同样,对于GTK+3:
pkg-config --modversion gtk+-3.0
其他提示
$ dpkg -s libgtk2.0-0|grep '^Version'
获取GTK3版本:
dpkg -s libgtk-3-0|grep '^Version'
或只是版本号
dpkg -s libgtk-3-0|grep '^Version' | cut -d' ' -f2-
您也可以编译以下程序并在您的计算机上运行它。
#include <gtk/gtk.h>
#include <glib/gprintf.h>
int main(int argc, char *argv[])
{
/* Initialize GTK */
gtk_init (&argc, &argv);
g_printf("%d.%d.%d\n", gtk_major_version, gtk_minor_version, gtk_micro_version);
return(0);
}
编译(假设上面的源文件名为version.c):
gcc version.c -o version `pkg-config --cflags --libs gtk+-2.0`
当你运行它时,你会得到一些输出。在我的旧嵌入式设备上,我得到以下内容:
[root@n00E04B3730DF n2]# ./version
2.10.4
[root@n00E04B3730DF n2]#
尝试,
apt-cache policy libgtk2.0-0 libgtk-3-0
或,
dpkg -l libgtk2.0-0 libgtk-3-0
你也可以打开synaptic并搜索libgtk,它会准确显示你安装的lib。
尝试:
dpkg-query -W libgtk-3-bin
我认为与分发无关的方式是:
gtk-config --version
这将获得GTK + 2和GTK + 3的GTK +库版本。
dpkg -l | egrep "libgtk(2.0-0|-3-0)"
由于主要版本是可并行安装的,您可能在系统上同时拥有这两个版本,这是我的情况,所以上面的命令在我的Ubuntu Trusty系统上返回:
ii libgtk-3-0:amd64 3.10.8-0ubuntu1.6 amd64 GTK+ graphical user interface library
ii libgtk2.0-0:amd64 2.24.23-0ubuntu1.4 amd64 GTK+ graphical user interface library
这意味着我安装了GTK + 2.24.23和3.10.8。
如果您需要的是开发文件的版本,请使用 pkg-config --modversion gtk + -3.0
作为GTK + 3的示例。要将其扩展到GTK +的不同主要版本,请使用一些sed魔法,这给了:
pkg-config --list-all | sed -ne 's/\(gtk+-[0-9]*.0\).*/\1/p' | xargs pkg-config --modversion
为了使答案比Ubuntu(我有Redhat)更通用:
gtk通常安装在/ usr下,但可能安装在其他位置。这应该在环境变量中可见。检查
env | grep gtk
然后尝试查找gtk文件的存储位置。例如,使用 locate
和grep。
locate gtk | grep /usr/lib
通过这种方式,我找到了 /usr/lib64/gtk-2.0
,它包含子目录 2.10.0
,其中包含许多.so库文件。我的结论是我有gtk +版本2.10。这与Redhat上的rpm命令非常一致: rpm -qa | grep gtk2
,所以我认为我的结论是正确的。