Утилита zenity – это средство создания диалоговых окон в режиме командной строки. Следует отметить, что на самом деле диалоговые окна создаются средствами Gtk+, поэтому в системе должны быть установлены соответствующие библиотеки. От аналогичных программ, таких как dialog и whiptail, zenity отличают более изощрённые средства реализации GUI-элементов.
Загрузить актуальную версию этой утилиты можно на Web-сайте разработчиков [http://library.gnome.org/users/zenity/]. Также эту программу можно найти в репозиториях некоторых дистрибутивов Linux.
Применение zenity для отдельных команд в интерактивном режиме не столь эффективно, как при написании сценариев. В сценариях командной оболочки часто требуется взаимодействие с пользователем, чтобы сообщить некую информацию, например, о возникновении «нестандартной» ситуации. Также требуется отображать информацию о состоянии выполнения операции, длящейся продолжительное время. Кроме этого, иногда сценарию необходимо получить некоторую информацию от пользователя: выбор варианта ответа на заданный вопрос, выбор файла из предложенного списка и т.д. Всё это можно организовать с помощью zenity.
Необходимо уточнить, что после закрытия диалогового окна, zenity возвращает числовой код завершения операции:
0 - означает, что пользователь нажал в диалоговом окне кнопку "OK" или "Закрыть" (Сlose); 1 - означает, что пользователь нажал кнопку "Отмена" (Cancel) или воспользовался функциями (кнопками) окна, чтобы закрыть его; -1 - сообщает о том, что операция завершилась с ошибкой; 5 - диалоговое окно было закрыто после истечения интервала таймаута.
Создание диалогового окна для вывода сообщений
Чтобы начать использовать zenity на практике не требуется обладать особыми знаниями или умениями, достаточно просто познакомиться с различными опциями (ключами), позволяющими в полной мере использовать возможности этой программы.
В zenity определены четыре типа диалоговых окон для вывода сообщений:
ошибка (ключ --error); информация (ключ --info); вопрос (ключ --question); предупреждение (ключ --warning).
Простое сообщение, изображенное на рисунке 1, определяется следующей командой:
zenity –info –title=«Сообщение от Gmail» \