你怎么知道在Ubuntu上安装了哪个版本的GTK +?

时间:2008-09-24 09:08:05

标签: linux ubuntu gtk gnome

我需要确定在Ubuntu上安装了哪个版本的GTK +

男人似乎没有帮助

12 个答案:

答案 0 :(得分:61)

This suggestion将告诉您安装了哪个次要版本的2.0。不同的主要版本将具有不同的软件包名称,因为它们可以在系统上共存(为了支持使用旧版本构建的应用程序)。

即使对于通常只允许您在系统上拥有一个版本的开发文件,您也可以在同一系统上拥有gtk 1.x版本和gtk 2.0版本(包含文件位于名为gtk的目录中) -1.2或gtk-2.0)。

所以简而言之,对于“系统中的GTK版本”没有一个简单的答案。但...

尝试类似:

dpkg -l libgtk* | grep -e '^i' | grep -e 'libgtk-*[0-9]'

列出系统上的所有libgtk软件包,包括-dev软件包。 dpkg -l将列出dpkg知道的所有包,包括当前未安装的包,因此我使用grep仅列出已安装的包(行以i开头)。

或者,如果它是您感兴趣的标题等版本可能更好,请使用pkg-config:

pkg-config --modversion gtk+

将告诉您安装了哪些版本的GTK 1.x开发文件,

pkg-config --modversion gtk+-2.0

会告诉你什么版本的GTK 2.0。旧的1.x版本也有自己的gtk-config程序,可以做同样的事情。同样,对于GTK + 3:

pkg-config --modversion gtk+-3.0

答案 1 :(得分:24)

$ dpkg -s libgtk2.0-0|grep '^Version'

答案 2 :(得分:21)

获取GTK3版本:

dpkg -s libgtk-3-0|grep '^Version'

或只是版本号

dpkg -s libgtk-3-0|grep '^Version' | cut -d' ' -f2-

答案 3 :(得分:8)

您也可以编译以下程序并在您的计算机上运行它。

#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]#

答案 4 :(得分:4)

尝试,

apt-cache policy libgtk2.0-0 libgtk-3-0 

或,

dpkg -l libgtk2.0-0 libgtk-3-0

答案 5 :(得分:3)

你也可以打开synaptic并搜索libgtk,它会准确显示你安装的lib。

答案 6 :(得分:3)

这并不困难。

只需从终端检查您的gtk +工具箱实用程序版本:

#Import packeges
import pandas as pd
# Read the dataset
df = pd.read_csv("Sales dataset - Vijay.csv", engine='python', parse_dates['founded_at','first_funding_at','last_funding_at'])

list1 = ["founded_at", "first_funding_at","last_funding_at"]

for feat in list1:
    #print (feat)
    df['Year'] = df[feat].dt.year
    df['Week'] = df[feat].dt.week
    df['Day'] =  df[feat].dt.day
    df['quarter'] = df['feat'].dt.quarter
    df['week_of_day'] = df['feat'].dt.dayofweek
    df['year_of_week'] = df['feat'].dt.weekofyear
    df['dayofweek_name'] = df['feat'].dt.day_name()
    df['weekend'] = np.where(df['feat'].isin(['Sunday','Saturday']),1,0)

答案 7 :(得分:2)

尝试:

JNIEXPORT void JNICALL Java_EmojiTest_nativeTest(JNIEnv *env, jclass cls, jstring _s)
{
    const jclass stringClass = env->GetObjectClass(_s);
    const jmethodID getBytes = env->GetMethodID(stringClass, "getBytes", "(Ljava/lang/String;)[B");

    const jstring charsetName = env->NewStringUTF("UTF-8");
    const jbyteArray stringJbytes = (jbyteArray) env->CallObjectMethod(_s, getBytes, charsetName);
    env->DeleteLocalRef(charsetName);

    const jsize length = env->GetArrayLength(stringJbytes);
    const jbyte* pBytes = env->GetByteArrayElements(stringJbytes, NULL); 

    for (int i = 0; i < length; ++i)
        fprintf(stderr, "%d: %02x\n", i, pBytes[i]);

    env->ReleaseByteArrayElements(stringJbytes, pBytes, JNI_ABORT); 
    env->DeleteLocalRef(stringJbytes);
}

答案 8 :(得分:1)

我认为与分发无关的方式是:

gtk-config --version

答案 9 :(得分:1)

这将获得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

答案 10 :(得分:0)

为了使答案比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,所以我认为我的结论是正确的。

答案 11 :(得分:0)

由于apt-cache policy会列出所有可用的匹配项,即使未安装,我也建议使用此命令来为您的系统上安装的与GTK相关的软件包的更易于管理的清单:

apt list --installed libgtk*