Ubuntu에 설치된 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]'

시스템에있는 -dev 패키지를 포함하여 모든 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
Windows에 대한 제안 사항이 있습니까? Windows에 설치된 gtk 버전을 찾는 방법은 무엇입니까?
Avi Mehenwal 2013 년

pkg-config 프로그램은 Windows 설치의 일부입니다. 따라서 명령 줄에서 pkg-config --modversion gtk + -2.0을 작성하면 작동합니다.
pepan 2013

1
예쁜 있는지 libgtk*에는 dpkg -l libgtk*작은 따옴표 (묶어야한다 dpkg -l 'libgtk*') 쉘 수준에서 와일드 카드 확장을 방지하기 위해.
sevko

일치하는 glob이없고 여기에 없을 가능성이있는 경우 확장되지 않은 명령으로 전달되므로 작동합니다. 그러나 그것을 인용하는 것이 실제로 더 안전 할 것입니다.
Mark Baker

25

GTK3 버전 받기 :

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

또는 버전 번호

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

24

다음 명령을 사용할 수 있습니다.

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

1
GTK + 2의 마이너 버전이 나오고 있었지만 GTK + 3는 몇 년 동안 출시되었으며 GTK + 4는 곧 출시 될 예정입니다.
liberforce

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

(위의 소스 파일 이름이 version.c라고 가정) 다음으로 컴파일하십시오.

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

이것을 실행하면 몇 가지 출력을 얻을 수 있습니다. 내 이전 임베디드 장치에서 다음을 얻습니다.

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

2
당신이 말한대로 컴파일하면 2.24.27을 얻습니다. --libs gtk+-3.0대신 컴파일 하면 3.10.8을 얻습니다. 이것은 두 가지 모두에 대한 개발 파일이 있지만 현재 사용하고 있지 않다는 것을 알려주는 것 같습니다.
tsbertalan

gtkv.c : 1 : 21 : 치명적인 오류 : GTK / 이것은 gtk.h : 해당 파일이나 디렉토리
niken

@tsbertalan "현재 사용"은 다양한 앱이 연결된 GTK 버전에 따라 다릅니다.
Chimera


4

그렇게 어렵지 않습니다.

터미널에서 gtk + 툴킷 유틸리티 버전을 확인하십시오.

gtk-launch --version


2

배포에 독립적 인 방법은 다음과 같습니다.

gtk-config --version


2
gtk-config는 배포판에 독립적이지만 GTK 1.x에서만 작동합니다. 최신 버전의 올바른 방법은 내 대답에서 말했듯이 pkg-config를 사용하는 것입니다.
Mark Baker

2

시험:

 dpkg-query -W libgtk-3-bin

이것은 내가 대체 할 때 다르게 행동하는 유일한 대답이었다 2위해 3.
tsbertalan

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

0

우분투보다 더 일반적으로 대답하려면 (Redhat이 있습니다) :

gtk는 일반적으로 / usr 아래에 설치되지만 다른 위치에 설치 될 수 있습니다. 이것은 환경 변수에서 볼 수 있어야합니다. 확인

env | grep gtk

그런 다음 gtk 파일이 저장된 위치를 찾으십시오. 예를 들어, use locate및 grep.

locate gtk | grep /usr/lib

이런 식으로 많은 .so 라이브러리 파일 /usr/lib64/gtk-2.0이 포함 된 하위 디렉토리가 포함 된을 찾았습니다 2.10.0. 내 결론은 gtk + 버전 2.10이 있다는 것입니다. 이것은 Redhat :의 rpm 명령과 다소 일치 rpm -qa | grep gtk2하므로 내 결론이 옳다고 생각합니다.


0

apt-cache policy사용 가능한 모든 일치 항목을 나열 하기 때문에 설치되어 있지 않더라도 시스템에 설치된 GTK 관련 패키지의보다 관리하기 쉬운 목록에이 명령을 사용하는 것이 좋습니다.

apt list --installed libgtk*
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.