Introduction to GTK+ 2

The GTK+ 2 package contains libraries used for creating graphical user interfaces for applications.

This package is known to build and work properly using an LFS 12.1 platform.

Package Information

GTK+ 2 Dependencies


at-spi2-core-2.50.1, gdk-pixbuf-2.42.10 and Pango-1.51.2



Cups-2.4.7, DocBook-utils-0.6.14, gnome-themes-extra-3.28 (runtime, for Adwaita and HighContrast themes), gobject-introspection-1.78.1 and GTK-Doc-1.33.2



If gobject-introspection-1.78.1 was installed after at-spi2-core-2.50.1, gdk-pixbuf-2.42.10, and/or Pango-1.51.2, those packages will have to be rebuilt before this package can be built.

Installation of GTK+ 2

Install GTK+ 2 by running the following commands:

sed -e 's#l \(gtk-.*\).sgml#& -o \1#' \
    -i docs/{faq,tutorial}/      &&

./configure --prefix=/usr --sysconfdir=/etc &&


To test the results, issue: make -k check. Note that you must run the tests from a session with X Window Display capability (i.e., not a text-based terminal/console) as the tests attempt to open an X window, and the tests can take an excessively long time. Using an X Window, the tests should take less than 0.1 SBU. One test,, is known to fail.

Now, as the root user:

make install


If you installed the package on to your system using a DESTDIR method, an important file was not installed and must be copied and/or generated. Generate it using the following command as the root user:

gtk-query-immodules-2.0 --update-cache

Command Explanations

sed -i 's#l \(gtk-.*\).sgml#& -o \1#' docs/{faq,tutorial}/ If you have DocBook-utils-0.6.14 installed (specifically, if configure finds db2html) then it will try to use it to rebuild some of its HTML documentation and fail due to bugs in some of the Makefiles. This sed fixes the Makefiles.

--enable-gtk-doc: Use this parameter if GTK-Doc is installed and you wish to rebuild and install the API documentation.

Configuring GTK+ 2

Config Files

~/.gtkrc-2.0, /etc/gtk-2.0/gtkrc, and /usr/share/gtk-2.0/gtkrc

Configuration Information

GTK+ 2 themes change the way a GTK+ 2 application looks. A GTK+ 2 icon theme can be used to change the icons that appear on the application's toolbar. If you have installed a GTK+ 2 theme (such as gnome-themes-extra-3.28 or GTK Engines-2.20.2), or a GTK+ icon theme (such as adwaita-icon-theme-45.0) you can set your preferences in ~/.gtkrc-2.0:

cat > ~/.gtkrc-2.0 << "EOF"
include "/usr/share/themes/Glider/gtk-2.0/gtkrc"
gtk-icon-theme-name = "hicolor"

There are many more themes available at and other places.

Once you've settled on themes you like, you can (as the root user) make them the default system wide:

cat > /etc/gtk-2.0/gtkrc << "EOF"
include "/usr/share/themes/Clearlooks/gtk-2.0/gtkrc"
gtk-icon-theme-name = "elementary"


Installed Programs: gtk-builder-convert, gtk-demo, gtk-query-immodules-2.0, and gtk-update-icon-cache
Installed Libraries:,, and
Installed Directories: /etc/gtk-2.0, /usr/include/{gail-1.0,gtk-2.0,gtk-unix-print-2.0}, /usr/lib/gtk-2.0, /usr/share/doc/gtk+-2.24.33, /usr/share/gtk-2.0, /usr/share/gtk-doc/html/{gail-libgail-util,gdk2,gtk2}, and /usr/share/themes/{Default,Emacs,Raleigh}

Short Descriptions


converts glade files into XML files which can be loaded with GtkBuilder


demonstrates GTK+ 2 functionality and provides code for the examples


collects information about loadable input method modules for GTK+ 2 and writes it to standard output


creates mmap()able cache files for icon themes. Starting with gtk+-2.24.24, add the flag --include-image-data to this command, if you wish previous behavior, with image data in the cache

contains functions that act as a wrapper around the low-level drawing and windowing functions provided by the underlying graphics system

contains functions that provide an API to implement graphical user interfaces