Устройство:
Что такое можно прочесть тут http://ru.wikipedia.org/wiki/Gtk
Основная идея заключается в том что все элементы графического интерфейса называемые “виджеты” умеют взаимодействовать с соседними элементами. Создание интерфейса на Gtk в чём то похоже на создание html страницы. Не нужно задумываться какая позиция будет у того или иного объекта при том или ином размере окна или если рядом появится ещё какой нибудь виджет. Нужно лишь описать расположение объектов друг относительно друга. Всё остальное происходит автоматически.

Библиотека разделена на две чести код который отвечает за логическое строение объекта (Gtk) и код код который рисует этот объект на экране Gdk. Благодаря такому строению одни и те же объекты могут выглядеть по разному. Отрисовка происходит при помощи движков (engines).
Итак когда программа запускается она вызывает функции создания обьектов из библиотеки Gtk когда эти объекты создаются для их отрисовки используется движёк который прописан в теме (gtkrc файл) (для каждого объекта (кнопки, поля для редактирования текста и т.п.) можно использовать свои движки). Получается можно на основе одних и тех же движков создавать огромное количество тем не похожих друг на друга.

Темы можно располагать:
в /usr/share/themes темы от сюда будут доступны для всех пользователей
в ~/.themes доступна только конкретному пользователю (поэтому программы запущенные от рута не будут использовать эту тему!!!)
также настройки Gtk тем можно располагать в ~/.gtkrc-2.0
Нужно отметить что настройки в стом файле перекрывают настройки темы, поскольку он читается в последнюю очередь.

Устройство темы:
Рассмотрим тему Clearlooks она устанавливается по умолчанию как и несколько других тем.
Вот список файлов:

ls -1 -R /usr/share/themes/Clearlooks/

/usr/share/themes/Clearlooks/:
gtk-2.0/
index.theme
metacity-1/

/usr/share/themes/Clearlooks/gtk-2.0:
gtkrc

/usr/share/themes/Clearlooks/metacity-1:
metacity-theme-1.xml

В файле /usr/share/themes/Clearlooks/index.theme прописано название темы в целом (тема состоит не только gtk но и оконного менеджера и иконок) и описание этой темы на разных языках:

[X-GNOME-Metatheme]
Name=Clearlooks
Name[be]=Clearlooks

Name[ru]=Ясность

GtkTheme=Clearlooks
MetacityTheme=Clearlooks
IconTheme=gnome

Именно это название мы увидим в менеджере тем
Система->Параметры->Тема
(или из консоли gnome-theme-manager)

Как видите это готовая тема включив которую мы получим законченное решение.
по мимо файла index.theme в каталоге /usr/share/themes/Clearlooks/
есть два подкаталога /usr/share/themes/Clearlooks/gtk-2.0 и /usr/share/themes/Clearlooks/metacity-1
В них описаны тема для gtk и metacity соответственно.

В каталоге /usr/share/themes/Clearlooks/gtk-2.0/ находится файл gtkrc который какраз и описывает тему.
Но если в него заглянуть мы не найдём названия как же тогда программы узнают какой файл относится к теме Clearlooks которая описана в /usr/share/themes/Clearlooks/index.theme
….
GtkTheme=Clearlooks
….

Всё очень просто. Поскольку gtk и metacity это отдельные проекты то формат файлов тем у них разный
но есть общая структура расположения файлов.
т.е. файлы тем должны располагаться в /usr/share/themes/<тут имя какталога оноже название темы>/<каталог конкретного проекта>

Например для gtk темы Clearlooks файл темы должен иметь следующий путь
/usr/share/themes/Clearlooks/gtk-2.0/gtkrc
А для metacity
/usr/share/themes/Clearlooks/metacity-1/metacity-theme-1.xml

Поэтому если в каталоге /usr/share/themes/Clearlooks/ не будет файла index.theme а будут только каталоги gtk-2.0 и metacity-1
То в менеджере тем мы не увидим тему Clearlooks и для того чтобы нам включить тему Clearlooks для gtk нужно выбрать любую тему из представленных затем щёлкнуть на кнопке “Подробнее о теме” и там на закладке “Элементы управления” мы увидим Clearlooks.
Также если мы переключимся на закладку “Рамка окна” то там мы также увидим тему Clearlooks.

Если вы внимательно читали то должны были заметить что в файле index.theme прописаны так же и иконки строка IconTheme=gnome
но каталога с иконками в /usr/share/themes/Clearlooks/ нет.

Дело в том что иконки располагаются отдельно в каталоге /usr/share/icons
Листинг файлов:

ls -1 /usr/share/icons
Crux/
default/
gnome/

Tango/
whiteglass/

Каждый из каталогов содержит много подкаталогов к которых расположены иконки соответствующего размера и предназначения.
Описывать каждый каталог очень долго но в целом

/usr/share/icons/gnome/<размер>/<предназначение>/<название иконки>
размеры могут быть разные например 10×10 16×16 или огромные 48×48.

Несложно догадаться что в каталоге /usr/share/icons/gnome/16×16 будут иконки именно стого размера т.е. 16 на 16 пикселей.

Но как я уже писал выше темы расположенные в каталогах /usr/share/icons и /usr/share/themes доступны всем пользователям на чтение и только root’у на запись поэтому если у вас нет прав или вы просто хотите посмотреть тему можно поместить темы в
~/.themes и ~/.icons соответственно.

Например можно скопировать тему /usr/share/themes/Clearlooks в ~/.themes/Clearlooks-My/ изменить название в файле index.theme
и дальше можно экспериментировать с разными настройками например поправить цвет фона кнопок и т.п.

В следующей версии Gtk обещают ассоциировать специально расширение файла с установщиком тем. А пока если вы скачали тему
с gnome-look.org то можно архивный файл перетащить мышкой на программу “Менеджер тем” (gnome-theme-manager) и если архив правильной структуры то он установится. Но попадаются и “кривые” архивы в стом случае программа скажет что это не архив с темой и она установить не сможет, поэтому придётся распаковать файлы из архива во временный каталог и поправить структуру каталогов чтобы она соответствовала правильной, надеюсь благодаря этому описанию вы сможете разобраться.

Напоследок несколько ссылок где можно подробнее узнать о строении gtk тем.

http://live.gnome.org/GnomeArt/Tutorials/GtkThemes
https://stage.maemo.org/svn/maemo/projects/haf/trunk/gtk+/docs/widget_geometry.txt
http://developer.gnome.org/doc/API/2.0/gtk/index.html Здесь доступна полная документация о gtk для программистов но там же описаны
Style Properties т.е. настройки стиля для конкретного виджета.
Также можно получить информацию поиском в гугле или на форуме http://gnomesupport.org/forums/viewforum.php?f=20&sid=cc054db42895f999aa608ac6a6692bbd
или на канале #gnome-art что на сервере irc.gnome.org

Взято с forum.ubuntu.ru