मुझे यह निर्धारित करने की आवश्यकता है कि उबंटू पर GTK + का कौन सा संस्करण स्थापित है
आदमी मदद करता नहीं दिखता
मुझे यह निर्धारित करने की आवश्यकता है कि उबंटू पर GTK + का कौन सा संस्करण स्थापित है
आदमी मदद करता नहीं दिखता
जवाबों:
यह सुझाव आपको बताएगा कि 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
libgtk*
में dpkg -l libgtk*
एक सिंगल कोट्स (में संलग्न किया जा करने के लिए है dpkg -l 'libgtk*'
) खोल स्तर पर वाइल्डकार्ड विस्तार को रोकने के लिए।
GTK3 संस्करण प्राप्त करें:
dpkg -s libgtk-3-0|grep '^Version'
या सिर्फ संस्करण संख्या
dpkg -s libgtk-3-0|grep '^Version' | cut -d' ' -f2-
आप इस कमांड का उपयोग कर सकते हैं:
$ dpkg -s libgtk2.0-0|grep '^Version'
आप बस निम्नलिखित कार्यक्रम को संकलित कर सकते हैं और इसे अपनी मशीन पर चला सकते हैं।
#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]#
--libs gtk+-3.0
इसके बजाय संकलन करता हूं , तो मुझे 3.10.8 मिलता है। यह सिर्फ मुझे बताने के लिए लगता है कि मेरे पास दोनों के लिए विकास फाइलें हैं, लेकिन वह नहीं जो मैं इस समय उपयोग कर रहा हूं।
प्रयत्न,
apt-cache policy libgtk2.0-0 libgtk-3-0
या,
dpkg -l libgtk2.0-0 libgtk-3-0
आप बस synaptic भी खोल सकते हैं और libgtk की खोज कर सकते हैं, यह आपको दिखाएगा कि कौन सा lib स्थापित है।
मुझे लगता है कि एक वितरण-स्वतंत्र तरीका है:
gtk-config --version
प्रयत्न:
dpkg-query -W libgtk-3-bin
2
किया 3
।
यह 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
उत्तर को उबंटू से अधिक सामान्य बनाने के लिए (मेरे पास रेडहैट है):
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
इसलिए मुझे लगता है कि मेरा निष्कर्ष सही है।