Запуск и отладка приложений GTK
GTK проверяет ряд переменных среды, помимо стандартных переменных, таких как LANG, PATH, HOME или DISPLAY; в основном для определения путей поиска определённых файлов. X11, Wayland, Windows и Broadway GDK бэкэнды используют некоторые дополнительные переменные среды.
GTK_DEBUG
Эта переменная может быть установлена в список опций отладки, которые заставляют GTK выводить различные типы отладочной информации. Некоторые из этих опций доступны только тогда, когда GTK был сконфигурирован с -Ddebug=true.
actions | Действия и модели меню |
builder | Поддержка GtkBuilder |
geometry | Распределение размеров |
icontheme | Тематика иконок |
keybindings | Настройки горячих клавиш |
modules | Загрузка модулей |
printing | Поддержка печати |
size-request | Запросы размера |
text | Внутренности виджета текста |
tree | Внутренности виджета дерева |
Ряд ключей влияют на поведение, а не только на протоколирование:
interactive | Открыть |
no-css-cache | Обойти кеширование свойств CSS-стиля |
touchscreen | Представить, что указатель — это сенсорный экран |
updates | Визуальная обратная связь о обновлениях окна |
resize | Выделить изменяемые виджеты |
layout | Показать границы макета |
snapshot | Включить узлы рендеринга отладки в сгенерированных снимках |
Специальное значение all может быть использовано для включения всех опций отладки. Специальное значение help может быть использовано для получения списка всех поддерживаемых опций отладки.
GTK_PATH
Указывает список каталогов для поиска, когда GTK ищет динамически загружаемые объекты, такие как модули методов ввода и бэкэнды печати. Если путь к динамически загружаемому объекту указан как абсолютный путь, GTK загружает его напрямую. В противном случае GTK по очереди проходит через каталоги в GTK_PATH, затем каталог .gtk-4.0 в домашнем каталоге пользователя, затем системный каталог по умолчанию, который является libdir/gtk-4.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 gtk4 для определения этого из скрипта), host — архитектура, на которой был построен GTK (используйте pkg-config --variable=gtk_host gtk4 для определения этого из скрипта), а type — каталог, специфичный для типа модулей; в настоящее время он может быть modules, immodules или printbackends, соответствующие типам модулей, упомянутым выше. version, host, или оба могут быть опущены. GTK сначала ищет в самом специфичном каталоге, а затем в каталогах с меньшим количеством компонентов. Компоненты GTK_PATH разделены символом “:” в Linux и Unix, и символом “;” в Windows.
Обратите внимание, что эта переменная среды читается как GTK 2.x, так и GTK 3.x, что делает её непригодной для системной (или сессионной) установки, так как это приведёт к тому, что приложения, использующие разные версии GTK, будут видеть несовместимые модули.
GTK_IM_MODULE
Указывает модуль метода ввода для использования вместо того, который определяется по локали. Если это не установлено, и вы работаете на системе, которая поддерживает XSETTINGS и имеет значение в Gtk/IMModule, это значение будет использоваться для модуля метода ввода по умолчанию. Это также может быть список методов ввода, разделённых двоеточием, которые GTK будет пробовать по очереди, пока не найдёт доступный в системе.
GTK_MEDIA
Указывает, какой бэкэнд загрузить для GtkMediaFile. Возможные значения зависят от того, с какими опциями был собран GTK, и могут включать “gstreamer”, “ffmpeg” и “none”. Если установлено “none”, воспроизведение мультимедиа будет недоступно. Специальное значение “help” может быть использовано для получения списка всех поддерживаемых бэкэндов мультимедиа.
GTK_EXE_PREFIX
Если установлено, GTK использует $GTK_EXE_PREFIX/lib вместо libdir, сконфигурированного при компиляции GTK.
GTK_DATA_PREFIX
Если установлено, GTK использует $GTK_DATA_PREFIX вместо префикса, сконфигурированного при компиляции GTK.
GTK_THEME
Если установлено, заставляет GTK использовать указанную тему вместо темы, заданной параметром gtk-theme-name. Это в основном предназначено для удобной отладки проблем с темой.
Также возможно указать вариант темы для загрузки, добавив имя варианта с двоеточием, например: GTK_THEME=Adwaita:dark.
Следующие переменные среды используются GdkPixbuf, GDK или Pango, а не самим GTK, но мы всё же перечисляем их для полноты.
GDK_PIXBUF_MODULE_FILE
Указывает файл, содержащий список модулей загрузчика GdkPixbuf, которые нужно загрузить. Эта переменная среды переопределяет значение по умолчанию libdir/gtk-4.0/4.0.0/loaders.cache (libdir — sysconfdir, указанный при конфигурации GTK, обычно /usr/lib.)
Файл loaders.cache генерируется утилитой gdk-pixbuf-query-loaders.
GDK_DEBUG
Эта переменная может быть установлена в список опций отладки, которые заставляют GDK выводить различные типы отладочной информации. Некоторые из этих опций доступны только тогда, когда GTK был сконфигурирован с -Ddebug=true.
cursor | Информация о курсорах (только win32) |
eventloop | Информация об операциях цикла событий (в основном Quartz) |
misc | Разнообразная информация |
frames | Информация о таймере кадров |
settings | Информация о xsettings |
selection | Информация о выделениях |
clipboard | Информация о буферах обмена |
dnd | Информация о перетаскивании |
opengl | Информация об OpenGL |
vulkan | Информация о Vulkan |
Ряд опций влияют на поведение, а не только на протоколирование:
nograbs | Отключить все захвата указателя и клавиатуры |
gl-disable | Отключить поддержку OpenGL |
gl-software | Принудительно включить программное рендерирование OpenGL |
gl-texture-rect | Использовать расширение OpenGL texture rectangle, если доступно |
gl-legacy | Использовать контекст OpenGL legacy |
gl-gles | Использовать контекст GLES OpenGL |
vulkan-disable | Отключить поддержку Vulkan |
vulkan-validate | Загрузить слой валидации Vulkan, если доступен |
Специальное значение all может быть использовано для включения всех опций отладки. Специальное значение help может быть использовано для получения списка всех поддерживаемых опций отладки.
GSK_DEBUG
Эта переменная может быть установлена в список параметров отладки, которые заставляют GSK выводить различную информацию об отладке. Некоторые из этих параметров доступны только при конфигурации GTK с -Ddebug=true.
renderer | Общая информация о рендерере |
cairo | Информация о рендерере cairo |
opengl | Информация о рендерере OpenGL |
shaders | Шейдеры |
surface | Поверхности |
vulkan | Информация о рендерере Vulkan |
fallback | Информация о резервных вариантах |
glyphcache | Информация о кэшировании глифов |
Ряд параметров влияют на поведение, а не на протоколирование:
diff | Показывать различия |
geometry | Показывать границы |
full-redraw | Принудительно выполнять полную перерисовку для каждого кадра |
sync | Синхронизировать после каждого кадра |
vulkan-staging-image | Использовать промежуточную картинку для загрузки текстур Vulkan |
vulkan-staging-buffer | Использовать промежуточный буфер для загрузки текстур Vulkan |
Специальное значение all может быть использовано для включения всех параметров отладки. Специальное значение help может быть использовано для получения списка всех поддерживаемых параметров отладки.
GDK_BACKEND
При установке выбирает используемый GDK-бэкенд. Выбор бэкенда требует, чтобы GTK был скомпилирован с поддержкой этого бэкенда. Следующие бэкенды могут быть выбраны, при условии, что они включены в используемые GDK-библиотеки:
quartz | Выбирает родной Quartz-бэкенд |
win32 | Выбирает родной бэкенд для Microsoft Windows |
x11 | Выбирает родной бэкенд для подключения к серверам X11 |
broadway | Выбирает бэкенд Broadway для отображения в веб-браузерах |
wayland | Выбирает Wayland-бэкенд для подключения к композиторам Wayland |
Эта переменная окружения может содержать список имён бэкэндов, разделённых запятыми, которые будут перепробованы в указанном порядке. Список также может содержать *, что означает: попробовать все оставшиеся бэкэнды. Специальное значение help может быть использовано для вывода списка всех доступных бэкэндов. Более подробную информацию о выборе бэкэндов см. в функции gdk_display_manager_get().
GDK_VULKAN_DEVICE
Эта переменная может быть установлена в индекс Vulkan-устройства, чтобы переопределить выбор по умолчанию устройства, используемого для Vulkan-рендеринга. Специальное значение list может быть использовано для получения списка всех Vulkan-устройств.
GSK_RENDERER
При установке выбирает используемый GSK-рендерер. Следующие рендеры могут быть выбраны, при условии, что они включены в используемую GTK-библиотеку и GDK-бэкенд их поддерживает:
help | Выводит информацию о доступных вариантах |
broadway | Выбирает рендерер, специфичный для бэкенда Broadway |
cairo | Выбирает резервный рендерер Cairo |
gl | Выбирает стандартный OpenGL-рендерер |
vulkan | Выбирает Vulkan-рендерер |
GTK_CSD
Значение этой переменной окружения по умолчанию равно 1. Если изменить на 0, это отключит стандартное использование декорирования на стороне клиента для GTK-окон, тем самым возложив на диспетчер окон ответственность за рисование декорейций для окон, у которых нет настраиваемого виджета панели заголовков.
CSD всегда используется для окон с настраиваемым виджетом панели заголовков, так как диспетчер окон не должен рисовать другую панель заголовков или другие декорации вокруг настраиваемой.
GTK_A11Y
При установке выбирает используемый бэкенд для доступности. Следующие бэкэнды могут быть выбраны, при условии, что они включены в используемую GTK-библиотеку:
help | Выводит информацию о доступных вариантах |
atspi | Выбирает бэкенд доступности AT-SPI |
test | Выбирает бэкенд тестирования |
none | Отключает бэкенд доступности |
Бэкенд доступности test рекомендуется для наборов тестов и удалённых конвейеров непрерывной интеграции.
XDG_DTA_HOME, XDG_DATA_DIRS
GTK использует эти переменные окружения для поиска тем иконок и информации MIME. Более подробную информацию см. в Спецификации темы иконок, Базе данных общих MIME-информаций и Спецификации базовых директорий.
DESKTOP_STARTUP_ID
GTK использует эту переменную окружения для предоставления уведомлений о запуске в соответствии со Спецификацией уведомлений о запуске. Согласно спецификации, GTK сбрасывает значение этой переменной после её прочтения (чтобы предотвратить её утечку в дочерние процессы). Таким образом, если вам нужно её значение для своих собственных целей, необходимо прочитать его до вызова gtk_init().
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer-old.gnome.org/gtk4/4.0/gtk-running.html