Команда zenity в Linux с примерами

Команда zenity в Linux с примерами

Рубрики:

Bash, Linux

Метки:

zenity, команды Linux

Утилита zenity — инструмент в ОС Linux, с помощью которого можно создавать простые диалоговые окна с графическим интерфейсом (GUI) для shell-скриптов. Он основан на GTK+ и позволяет взаимодействовать со скриптами через:

  • окна;
  • кнопки;
  • поля ввода текста;
  • диалоги выбора файлов и так далее.

Все это делает возможным создание интерактивных bash-скриптов без необходимости разработки полноценного приложения.

В этой статье мы покажем несколько примеров использование утилиты zenity в ОС Linux.

Содержание:

  1. Установка инструмента zenity в Linux
  2. Вывод простого текста в диалоговом окне zenity
  3. Отображение предупреждений и ошибок
  4. Отображение диалогового окна с вопросами
  5. Выбор файлов из каталога с помощью zenity
  6. Использование поля для ввода с помощью zenity
  7. Отображение индикатора выполнения операции
  8. Написание скрипта для резервного копирования директорий с помощью zenity
  9. Выводы

Установка инструмента zenity в Linux

Программа zenity по умолчанию предустановлена в большинстве популярных дистрибутивов Linux. Чтобы проверить, есть ли в ОС утилита zenity, выполните следующую команду:

 

version

Если предыдущая команда не вывела на экран версию утилиты, значит в Вашем Linux этого инструмента нет. Примените одну из следующих команд, чтобы установить zenity на ПК.

Читайте также: 15 примеров использования apt.

Для Debian / Ubuntu Linux:

 

install zenity

Для RHEL / CentOS / Fedora Linux:

 

Чтобы ознакомиться с синтаксисом и опциями команды zenity, выполните в терминале:

 

zenity help

Вывод простого текста в диалоговом окне zenity

Для отображения информационного текста в диалоговом окне используйте команду zenity с опциями --info и --text, в качестве значения последней укажите нужное сообщение. Например:

 

simple text 1

Читайте также: Как изменять стили вывода команды echo в Linux.

Отображение предупреждений и ошибок

С помощью zenity Вы можете предупредить пользователя о каком-то действии. Для этого следует использовать опцию --warning. К примеру:

 

warning message 2

У Вас также есть возможность выводить сообщения об ошибках в диалоговом окне. С этой задачей поможет справиться параметр --error:

 

error text 8

Отображение диалогового окна с вопросами

В коде сложных скриптов может применяться ветвление — операция, которая используется, когда выполнение определенного набора команд должно зависеть от того, выполнено условие или нет.

Например, с помощью функционала zenity можно задать пользователю вопрос, хочет ли он продолжать выполнение какой-либо операции. Для реализации такой задачи следует использовать опцию --question:

 

question dialog 3

Выбор файлов из каталога с помощью zenity

Скрипты в Linux часто применяются для обработки объектов файловой системы. И с помощью zenity можно предоставить пользователю возможность выбрать файл из каталога. Чтобы это сделать, используйте zenity с опцией --file-selection. Например:

 

select file 4

Читайте также: Как установить файловый менеджер Ranger в Linux.

После выбора файла предыдущая конструкция команд также отобразит в терминале абсолютный путь к указанному объекту из файловой системы.

select file1 4

Использование поля для ввода с помощью zenity

В диалоговое окно zenity можно добавить поле для ввода. Чтобы реализовать данный функционал, следует применить опцию --entry. Например, следующая конструкция команд запросит у пользователя ввод его имени и затем выведет его в терминале:

 

input field 5

Отображение индикатора выполнения операции

В Linux можно отслеживать время выполнения операций с помощью индикатора прогресса. У команды zenity есть опция --progress, которая позволяет следить за процессом выполнения задачи. Например:

 

progress bar 7

Читайте также: Команда pv в Linux с примерами.

Написание скрипта для резервного копирования директорий с помощью zenity

Давайте попробуем на практике написать скрипт, в котором будем использовать утилиту zenity. Представленный ниже код позволит создавать резервные копии каталогов в файловой системе Linux:

 

backup zenity script

Важно: рекомендуем детально ознакомиться с кодом и комментариями к нему.

После запуска сценария Bash у пользователя будет возможность выбрать папку для резервного копирования.

backup zenity script choose dirs

Читайте также: Скрипты Bash для организации папок и генерации паролей в Linux.

Затем пользователь должен выбрать директорию, в которой будет сохранен архив с резервной копией.

backup zenity script choose backup dirs

Далее следует ввести желаемое название для архива.

backup zenity script choose backup name

Перед созданием резервной копии скрипт запросит у пользователя подтверждение на выполнение операции.

backup zenity script final question

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

Читайте также: 5 скриптов Bash для автоматизации задач в Linux.

Наконец скрипт сообщит, что файл архива с резервной копией сохранен в ранее указанной папке.

backup zenity script backup completed

Выводы

Теперь Вы знаете, что такое утилита zenity и как можно использовать ее функционал в ОС Linux. Мы также показали Вам практические примеры ее применения в скриптах Bash.

Спасибо за время, уделенное прочтению статьи!

Если возникли вопросы — задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасностиполный курс по кибербезопасностикурсы DevNet / DevOps (программируемые системы) от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Рубрики:

Bash, Linux

Метки:

zenity, команды Linux

Больше похожих постов

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения


Поиск по сайту
Лучшее
Популярное
Рубрики