우분투에 어떤 버전의 GTK+가 설치되어 있는지 어떻게 알 수 있습니까?

StackOverflow https://stackoverflow.com/questions/126141

  •  02-07-2019
  •  | 
  •  

문제

Ubuntu에 설치되는 GTK+ 버전을 결정해야합니다.

사람은 도움이되지 않는 것 같습니다

도움이 되었습니까?

해결책

이 제안 어떤 마이너 버전의 2.0이 설치되었는지 알려줍니다. 다른 주요 버전은 시스템에서 공존 할 수 있기 때문에 다른 패키지 이름을 갖습니다 (이전 버전으로 구축 된 응용 프로그램을 지원하기 위해).

일반적으로 시스템에 하나의 버전 만 있으면 GTK 1.X 버전과 동일한 시스템에 GTK 2.0 버전을 가질 수있는 개발 파일의 경우에도 GTK-1.2 또는 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

다른 팁

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

GTK3 버전 얻기 :

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

또는 버전 번호 만

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

다음 프로그램을 컴파일하고 컴퓨터에서 실행할 수도 있습니다.

#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]#

노력하다,

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

또는,

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

시냅스를 열고 libgtk를 검색 할 수도 있습니다. 어떤 lib가 설치되었는지 정확하게 보여줍니다.

노력하다:

 dpkg-query -W libgtk-3-bin

분포 독립적 인 방식은 다음과 같습니다.

gtk-config --version

이렇게하면 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의 경우에는 SED 마술과 함께 다른 주요 버전의 GTK+로 확장하기 위해 다음을 제공합니다.

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

Ubuntu보다 더 일반적인 대답을 만들기 위해 (나는 Redhat이 있습니다) :

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이 있다는 것입니다. 이것은 redhat의 rpm 명령과 일치합니다. rpm -qa | grep gtk2, 그래서 나는 내 결론이 옳다고 생각합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top