web-dev-qa-db-fra.com

Comment savoir quelle version de GTK + est installée sur Ubuntu?

Je dois déterminer quelle version de GTK + est installée sur Ubuntu

L'homme ne semble pas aider

63
Craig Angus

Cette suggestion vous dira quelle version mineure de 2.0 est installée. Les différentes versions principales auront des noms de paquetages différents car elles peuvent coexister sur le système (afin de prendre en charge les applications construites avec des versions plus anciennes).

Même pour les fichiers de développement, qui ne vous permettraient normalement que d'avoir une version sur le système, vous pouvez avoir une version de gtk 1.x et une version de gtk 2.0 sur le même système gtk-2.0).

En bref, il n’ya pas de réponse simple à "quelle version de GTK se trouve sur le système". Mais...

Essayez quelque chose comme:

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

pour lister tous les paquets libgtk, y compris ceux -dev, qui sont sur votre système. dpkg -l liste tous les paquets connus de dpkg, y compris ceux qui ne sont pas installés actuellement. J'ai donc utilisé grep pour ne répertorier que ceux installés (la ligne commence par i).

Sinon, et probablement mieux si c'est la version des en-têtes, etc. qui vous intéresse, utilisez pkg-config:

pkg-config --modversion gtk+

vous indiquera quelle version des fichiers de développement de GTK 1.x sont installés, et

pkg-config --modversion gtk+-2.0

vous dira quelle version de GTK 2.0. L'ancienne version 1.x a également son propre programme gtk-config qui fait la même chose. De même, pour GTK + 3:

pkg-config --modversion gtk+-3.0
57
Mark Baker
$ dpkg -s libgtk2.0-0|grep '^Version'
23
Torsten Marek

récupère la version GTK3:  

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

ou juste le numéro de version

dpkg -s libgtk-3-0|grep '^Version' | cut -d' ' -f2-
21
Dr Casper Black

Vous pouvez également simplement compiler le programme suivant et l'exécuter sur votre ordinateur.

#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);
}

compiler avec (en supposant que le fichier source ci-dessus s'appelle version.c):

gcc version.c -o version `pkg-config --cflags --libs gtk+-2.0`

Lorsque vous exécutez ceci, vous obtiendrez une sortie. Sur mon ancien appareil intégré, je reçois les informations suivantes:

[root@n00E04B3730DF n2]# ./version 
2.10.4
[root@n00E04B3730DF n2]#
7
Chimera

Essayer, 

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

ou, 

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

Vous pouvez aussi simplement ouvrir synaptic et rechercher libgtk, il vous montrera exactement quelle lib est installée.

3
Luka Marinko

Essayer:

 dpkg-query -W libgtk-3-bin
2
ThorSummoner

Je pense qu'une manière indépendante de la distribution est:

gtk-config --version

1
Xqj37

Cela obtiendra la version des bibliothèques GTK + pour GTK + 2 et GTK + 3. 

dpkg -l | egrep "libgtk(2.0-0|-3-0)"

Comme les versions principales sont installables en parallèle, vous pouvez avoir les deux sur votre système, ce qui est mon cas. La commande ci-dessus renvoie donc ceci sur mon système 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

Cela signifie que GTK + 2.24.23 et 3.10.8 sont installés.

Si ce que vous voulez est la version des fichiers de développement, utilisez pkg-config --modversion gtk+-3.0 par exemple pour GTK + 3. Pour étendre cela aux différentes versions principales de GTK +, avec un peu de magie sed, cela donne:

pkg-config --list-all | sed -ne 's/\(gtk+-[0-9]*.0\).*/\1/p' | xargs pkg-config --modversion
1
liberforce

Pour rendre la réponse plus générale que Ubuntu (j'ai Redhat):

gtk est généralement installé sous/usr, mais peut-être ailleurs. Cela devrait être visible dans les variables d'environnement. Vérifier avec 

env | grep gtk

Puis essayez de trouver où sont stockés vos fichiers gtk. Par exemple, utilisez locate et grep.

locate gtk | grep /usr/lib

De cette manière, j'ai trouvé /usr/lib64/gtk-2.0, qui contient le sous-répertoire 2.10.0, qui contient de nombreux fichiers de bibliothèque .so. Ma conclusion est que j'ai gtk + version 2.10. Ceci est assez cohérent avec la commande rpm sur Redhat: rpm -qa | grep gtk2, donc je pense que ma conclusion est correcte.

0
Helge