Выполнение GTK+ приложений

Выполнение GTK+ приложений Как отладить и выполнить вашу GTK+ программу

Отладка и выполнение GTK+ приложений

Основные опции командной строки

Все GTK+ приложения поддерживают множество стандартных опций командной строки. Они размещаются в argv gtk_init(). Модули могут разобрать и переместить дополнительные опции. В X11 и Windows внутренний интерфейс GDK разбирает некоторые дополнительные опции командной строки.

--gtk-module module Список модулей для загрузки в дополнение к определенным в переменной окруженияя GTK_MODULES и установке gtk-modules.

--g-fatal-warningsАварийное прекращение работы GTK+ в момент любых предупреждений. Это полезно для остановки во время получения первого предупреждения от отладчика, если ваше приложение выводит множественные предупреждения. Почти всегда лучше начинать отладку при возникновении первого предупреждения.

--gtk-debug options Список опций отладки (debug options) для дополнения определённых в переменной окруженияя GTK_DEBUG. Эта опция доступна только если GTK+ был сконфигурирован с ключом --enable-debug=yes.

--gtk-no-debug options Список опций отладки (debug options) для выключения. Эта опция доступна только если GTK+ был сконфигурирован с ключом --enable-debug=yes.

Следующие опции в действительности используются не GTK+, а библиотекой GDK, но мы перечислим их здесь для более полного понимания.

--class class Устанавливает класс программы; см. gdk_set_program_class().

--name name Устанавливает имя программы.

--gdk-debug options Список опций отладки (debug options) для дополнения включённых в переменную окруженияя GDK_DEBUG. Эта опция доступна только если GTK+ был сконфигурирован с ключом --enable-debug=yes.

--gdk-no-debug options Список опций отладки (debug options) для выключения. Эта опция доступна только если GTK+ был сконфигурирован с ключом --enable-debug=yes.


Переменные окруженияя

GTK+ инспектирует большое количество переменных окруженияя в дополнение к стандартным, таким как LANG, PATH, HOME или DISPLAY; главное определить пути для поиска определённых файлов. В X11, Windows и Framebuffer внутренний интерфейс GDK использует некоторые дополнительные переменные окруженияя.

GTK_DEBUG Если GTK+ был сконфигурирован с опцией --enable-debug=yes, эта переменная может быть установлена в список опций отладки, которые заставят GTK+ выводить различные типы отладочной информации.

misc

Различная информация

plugsocket

Включение пересечённых процессов (Cross-process embedding)

text

Внутренности виджета текста

tree

Внутренности виджета «дерево»

updates

Визуальная обратная связь об обновлениях окна

keybindings

Привязки клавиш

multihead

Работа на множестве дисплеев

modules

Загрузка модулей

geometry

Распределение размера

Для включения всех опций отладки может использоваться специальное значение all.

GTK_MODULES Список модулей для загрузки.

GTK_PATH Определяет список каталогов в которых GTK+ ищет объекты для динамической загрузки, такие как модули определённые в GTK_MODULES, генератор тем и модуль метода ввода. Если к динамически загружаемым объектам указан абсолютный путь, то GTK+ загружает их непосредственно. Иначе, GTK+ действует через справочник GTK_PATH, определяя по каким каталогам следует производить поиск, через .gtk-2.0 находящийся в домашнем каталоге пользователя и через системный по умолчанию которым является непосредственно libdir/gtk-2.0/modules. (Если GTK_EXE_PREFIX определён, libdir это $GTK_EXE_PREFIX/lib. Иначе libdir определяется при конфигурировании GTK+, обычно /usr/lib или /usr/local/lib.) Для каждого справочника в этом списке, GTK+ фактически исследует подкаталог directory/version/host/type Где version извлекается из версии GTK+ (используйте pkg-config --variable=gtk_binary_version gtk+-2.0 чтобы определить это для скрипта), host это архитектура на которой была собрана GTK+. (используйте pkg-config --variable=gtk_host gtk+-2.0 чтобы определить это для скрипта), а type это справочник определяющий тип модулей; в настоящее время это могут быть modules, engines или immodules соответствующий трем типам модулей упомянутых выше. Значения version и host, могут быть пропущены. GTK+ исследует первым справочник определенный самым большим количеством компонент (путей поиска), а затем справочники с меньшим количеством компонент. Пути поиска в GTK_PATH разделены знаком ':' в Linux и Unix, а в Windows знаком ';'.

GTK_IM_MODULE Определяет модуль IM который предпочтительно использовать вместо определенного в locale.

GTK_IM_MODULE_FILE Определяет файл со списком загружаемых модулей IM. Это отменяет переменную окруженияя im_module_file определённую в RC файлах, которая в свою очередь отменяет значение по умолчанию в sysconfdir/gtk-2.0/gtk.immodules (sysconfdir определяет системный каталог конфигурации для GTK+, обычно /usr/local/etc.)

GTK2_RC_FILES Определяет список RC файлов для разбора, вместо определённых по умолчанию; см. Resource Files.

GTK_EXE_PREFIX Если установлено, GTK+ использует $GTK_EXE_PREFIX/lib вместо libdir, сконфигурированной при компиляции GTK+.

GTK_DATA_PREFIXЕсли установлено, GTK+ собирается используя $GTK_DATA_PREFIX вместо prefix, сконфигурированного при компиляции GTK+.

Следующие переменные окруженияя используются не самой GTK+, а библиотеками GdkPixbuf, GDK или Pango, но мы перечислим их для более полной картины.

GDK_PIXBUF_MODULE_FILE Определяет файл со списком модулей для загрузчика изображений (GdkPixbuf loader). Это отменяет значение переменной окруженияя по умолчанию sysconfdir/gtk-2.0/gdk-pixbuf.loaders (sysconfdir определяет системный каталог конфигурации для GTK+, обычно /usr/local/etc.)

GDK_DEBUG Если GTK+ был сконфигурирован с ключом --enable-debug=yes, эта переменная может быть установлена в список опций отладки, которые заставят GDK выводить различные типы отладочной информации.

misc

Разная информация

events

Показывать все события полученные от GDK

dnd

Информация о drag-and-drop

xim

Информация о поддержке XIM

Для включения всех опций отладки можно использовать специальное значение all.

XDG_DATA_HOME, XDG_DATA_DIRS GTK+ использует эти переменные окруженияя для размещения информации о MIME и темах пиктограмм. Подробности смотрите в разделах Icon Theme Specification, Shared MIME-info Database и Base Directory Specification.