Necesito determinar qué versión de GTK + está instalada en Ubuntu
El hombre no parece ayudar
Necesito determinar qué versión de GTK + está instalada en Ubuntu
El hombre no parece ayudar
Respuestas:
Esta sugerencia le dirá qué versión secundaria de 2.0 está instalada. Las diferentes versiones principales tendrán diferentes nombres de paquetes porque pueden coexistir en el sistema (para admitir aplicaciones creadas con versiones anteriores).
Incluso para los archivos de desarrollo, que normalmente solo le permitirían tener una versión en el sistema, puede tener una versión de gtk 1.xy una versión de gtk 2.0 en el mismo sistema (los archivos de inclusión están en directorios llamados gtk-1.2 o gtk-2.0).
En resumen, no hay una respuesta simple a "qué versión de GTK hay en el sistema". Pero...
Prueba algo como:
dpkg -l libgtk* | grep -e '^i' | grep -e 'libgtk-*[0-9]'
para listar todos los paquetes libgtk, incluidos los -dev, que están en su sistema. dpkg -l
enumerará todos los paquetes que dpkg conoce, incluidos los que no están instalados actualmente, por lo que he usado grep para enumerar solo los que están instalados (la línea comienza con i).
Alternativamente, y probablemente mejor si es la versión de los encabezados, etc., lo que le interesa, use pkg-config:
pkg-config --modversion gtk+
le dirá qué versión de los archivos de desarrollo GTK 1.x están instalados, y
pkg-config --modversion gtk+-2.0
le dirá qué versión de GTK 2.0. La antigua versión 1.x también tiene su propio programa gtk-config que hace lo mismo. Del mismo modo, para GTK + 3:
pkg-config --modversion gtk+-3.0
libgtk*
en dpkg -l libgtk*
ha de estar entre comillas simples ( dpkg -l 'libgtk*'
) para evitar la expansión de comodines en el nivel de la cáscara.
obtener la versión GTK3:
dpkg -s libgtk-3-0|grep '^Version'
o solo el número de versión
dpkg -s libgtk-3-0|grep '^Version' | cut -d' ' -f2-
Puedes usar este comando:
$ dpkg -s libgtk2.0-0|grep '^Version'
También puede compilar el siguiente programa y ejecutarlo en su máquina.
#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);
}
compilar con (asumiendo que el archivo fuente anterior se llama version.c):
gcc version.c -o version `pkg-config --cflags --libs gtk+-2.0`
Cuando ejecute esto obtendrá algunos resultados. En mi antiguo dispositivo integrado obtengo lo siguiente:
[root@n00E04B3730DF n2]# ./version
2.10.4
[root@n00E04B3730DF n2]#
--libs gtk+-3.0
lugar, obtengo 3.10.8. Esto solo parece indicarme que tengo archivos de desarrollo para ambos, pero no los que estoy usando en este momento.
Tratar,
apt-cache policy libgtk2.0-0 libgtk-3-0
o,
dpkg -l libgtk2.0-0 libgtk-3-0
También puede abrir synaptic y buscar libgtk, le mostrará exactamente qué lib está instalada.
No es tan difícil.
Simplemente verifique la versión de las utilidades de su gtk + toolkit desde la terminal:
gtk-launch --version
Creo que una forma independiente de la distribución es:
gtk-config --version
Tratar:
dpkg-query -W libgtk-3-bin
2
para 3
.
Esto obtendrá la versión de las bibliotecas GTK + para GTK + 2 y GTK + 3.
dpkg -l | egrep "libgtk(2.0-0|-3-0)"
Como las versiones principales se pueden instalar en paralelo, es posible que tenga ambas en su sistema, que es mi caso, por lo que el comando anterior devuelve esto en mi sistema 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
Esto significa que tengo GTK + 2.24.23 y 3.10.8 instalados.
Si lo que quieres es la versión de los archivos de desarrollo, usa pkg-config --modversion gtk+-3.0
por ejemplo para GTK + 3. Para extender eso a las diferentes versiones principales de GTK +, con algo de magia sed, esto da:
pkg-config --list-all | sed -ne 's/\(gtk+-[0-9]*.0\).*/\1/p' | xargs pkg-config --modversion
Para hacer la respuesta más general que Ubuntu (tengo Redhat):
gtk generalmente se instala en / usr, pero posiblemente en otras ubicaciones. Esto debería ser visible en las variables de entorno. Verifícalo con
env | grep gtk
Luego, intente encontrar dónde se almacenan sus archivos gtk. Por ejemplo, use locate
y grep.
locate gtk | grep /usr/lib
De esta manera, encontré /usr/lib64/gtk-2.0
, que contiene el subdirectorio 2.10.0
, que contiene muchos archivos de biblioteca .so. Mi conclusión es que tengo gtk + versión 2.10. Esto es bastante consistente con el comando rpm en Redhat:, rpm -qa | grep gtk2
así que creo que mi conclusión es correcta.