आपको यह कैसे पता चलेगा कि उबंटू पर GTK + का कौन सा संस्करण स्थापित है?


80

मुझे यह निर्धारित करने की आवश्यकता है कि उबंटू पर GTK + का कौन सा संस्करण स्थापित है

आदमी मदद करता नहीं दिखता

जवाबों:


72

यह सुझाव आपको बताएगा कि 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 संकुल को सूचीबद्ध करने के लिए, जो आपके सिस्टम पर हैं। 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
खिड़कियों के लिए कोई सुझाव? विंडोज़ पर स्थापित gtk संस्करण कैसे खोजें?
एवी मेहेंवाल

Pkg-config प्रोग्राम विंडोज़ इंस्टॉलेशन का हिस्सा है। इसलिए कमांड लाइन में pkg-config --modversion gtk + -2.0 लिखना चाहिए।
पेपन

1
यकीन है कि libgtk*में dpkg -l libgtk*एक सिंगल कोट्स (में संलग्न किया जा करने के लिए है dpkg -l 'libgtk*') खोल स्तर पर वाइल्डकार्ड विस्तार को रोकने के लिए।
सेवको

यदि कोई ग्लोब मैच नहीं हैं, और शायद यहाँ नहीं हैं, तो इसे अनएक्सपेन्डेड कमांड को पास किया जाएगा, इसलिए यह काम करेगा। लेकिन इसे उद्धृत करना वास्तव में सुरक्षित होगा।
मार्क बेकर


24

आप इस कमांड का उपयोग कर सकते हैं:

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

1
यह GTK + 2 के मामूली संस्करण हो रहा था, लेकिन रास्ते में GTK + 3 अब सालों से बाहर है और GTK + 4 है।
आजादी

9

आप बस निम्नलिखित कार्यक्रम को संकलित कर सकते हैं और इसे अपनी मशीन पर चला सकते हैं।

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

संकलित करें (स्रोत फ़ाइल के ऊपर मानकर संस्करण का नाम रखा गया है।):

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

जब आप इसे चलाते हैं तो आपको कुछ आउटपुट मिलेगा। मेरे पुराने एम्बेडेड डिवाइस पर मुझे निम्नलिखित मिलते हैं:

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

2
यदि आप जैसा कहते हैं, मैं करता हूँ, मुझे २.२४.२ you मिलता है। यदि मैं --libs gtk+-3.0इसके बजाय संकलन करता हूं , तो मुझे 3.10.8 मिलता है। यह सिर्फ मुझे बताने के लिए लगता है कि मेरे पास दोनों के लिए विकास फाइलें हैं, लेकिन वह नहीं जो मैं इस समय उपयोग कर रहा हूं।
tsbertalan

gtkv.c: 1: 21: घातक त्रुटि: gtk / gtk.h: ऐसी कोई फ़ाइल या निर्देशिका नहीं है
niken

@tsbertalan "पल में उपयोग करना" इस बात पर निर्भर करता है कि आपके विभिन्न एप्लिकेशन GTK के किस संस्करण से जुड़े हैं।
काइमेरा


4

यह इतना मुश्किल नहीं है।

बस टर्मिनल से अपने gtk + टूलकिट उपयोगिताओं संस्करण की जाँच करें:

gtk-launch --version

3

आप बस synaptic भी खोल सकते हैं और libgtk की खोज कर सकते हैं, यह आपको दिखाएगा कि कौन सा lib स्थापित है।


2

मुझे लगता है कि एक वितरण-स्वतंत्र तरीका है:

gtk-config --version


2
जबकि gtk-config वितरण स्वतंत्र है, यह केवल GTK 1.x के लिए काम करता है। नए संस्करणों के लिए सही तरीका pkg-config का उपयोग करना है, जैसा कि मैंने अपने उत्तर में कहा है।
मार्क बेकर


1

यह GTK + 2 और GTK + 3 के लिए GTK + पुस्तकालयों का संस्करण प्राप्त करेगा।

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

जैसा कि प्रमुख संस्करण समानांतर इंस्टॉल करने योग्य हैं, आपके पास आपके सिस्टम पर दोनों हो सकते हैं, जो कि मेरा मामला है, इसलिए उपरोक्त कमांड मेरे उबंटू ट्रस्ट सिस्टम पर लौटाता है:

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 + के विभिन्न प्रमुख संस्करणों में, कुछ सेड जादू के साथ, यह देता है:

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

0

उत्तर को उबंटू से अधिक सामान्य बनाने के लिए (मेरे पास रेडहैट है):

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 है। यह रेडहैट पर आरपीएम कमांड के अनुरूप है: rpm -qa | grep gtk2इसलिए मुझे लगता है कि मेरा निष्कर्ष सही है।


0

क्योंकि apt-cache policyउपलब्ध सभी मैचों को सूचीबद्ध करेगा, भले ही स्थापित न हों, मैं आपके सिस्टम पर स्थापित जीटीके-संबंधित पैकेजों की अधिक प्रबंधनीय शॉर्टलिस्ट के लिए इस कमांड का उपयोग करने का सुझाव दूंगा:

apt list --installed libgtk*
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.