Как сделать простые графические сценарии оболочки с Zenity в Linux
Zenity добавляет графические интерфейсы к сценариям оболочки с помощью одной команды. Сценарии оболочки являются отличным способом автоматизации повторяющихся задач, но обычно они ограничены терминалом - Zenity выводит их из терминала на рабочий стол.
Мы давали введение в сценарии оболочки в прошлом. Вам не нужно быть программистом, чтобы начать работать со скриптами оболочки - они требуют чуть больше, чем знание команд терминала Linux.
Получение Zenity
Zenity поставляется с Ubuntu по умолчанию. Если вы используете производную Ubuntu, такую как Kubuntu, вам может потребоваться установить ее вручную с помощью следующей команды:
sudo apt-get установить zenity
Zenity является частью GNOME, поэтому он уже должен быть включен в дистрибутивы Linux, использующие рабочий стол GNOME. Проверьте менеджер пакетов на наличие Zenity пакет, если у вас его нет.
Используя Zenity
Вы можете поиграть с Zenity из терминала. Допустим, вы хотите создать окно с ошибкой при возникновении проблемы с вашим сценарием оболочки. Вот пример команды, которую вы можете использовать:
zenity -error -title = "Произошла ошибка" -text = "Возникла проблема при запуске сценария оболочки."
Запустите команду, и вы увидите окно с сообщением.
Поместите эту единственную команду в свой скрипт оболочки в правильном месте, и вы получите графическое сообщение об ошибке. Вы также можете использовать переменные, чтобы включить больше информации об ошибке.
Допустим, вы хотите задать вопрос да или нет. Вы можете использовать такую команду:
zenity -question -title = ”Query” -text = ”Хотите запустить скрипт?”
Вы можете поймать ответ «да» или «нет» в своем сценарии оболочки и выполнять различные команды в зависимости от того, на какую кнопку нажимает пользователь.
Также есть диалог ввода текста:
zenity -entry -title = ”Любимый сайт” -text = ”Какой ваш любимый сайт?”
Поймать ввод пользователя в сценарии оболочки, и вы можете сохранить его как переменную.
Также есть средство выбора файлов, календарь и другие типы диалогов. Полный список типов диалогов и их параметров см. На странице руководства Zenity..
Пример сценария
Давайте попробуем использовать Zenity для создания простого графического сценария оболочки. Всего тремя командами мы можем создать графическую программу таймера:
#! / Bin / Баш
# Этот скрипт запрашивает у пользователя некоторое время, ожидает указанное количество
# времени и показывает диалоговое окно с предупреждением.TIME = $ (zenity -entry -title = ”Timer” -text = ”Введите длительность для таймера. \ N \ n Используйте 5 с в течение 5 секунд, 10 м в течение 10 минут или 2 ч в течение 2 часов.»)
спать $ ВРЕМЯ
zenity -info -title = "Таймер завершен" -text = "Таймер истек. \ n \ n Это было $ TIME."
Мы используем некоторые дополнительные уловки здесь. Мы получаем значение переменной TIME из первой команды zenity и передаем ее в команду sleep. Мы также используем / п создавать новые строки текста в диалогах zenity.
После сохранения сценария оболочки и запуска chmod + x команда, чтобы дать ему исполняемые права, мы можем запустить его.
Введите длительность и скрипт будет использовать стандарт спать Команда для обратного отсчета в фоновом режиме. Когда таймер команды сна завершится, скрипт отобразит информационное сообщение zenity.
Вы можете создать ярлык на рабочем столе или панели для этого скрипта и запускать его, даже не касаясь терминала..
Это просто царапает поверхность того, что вы могли бы сделать с zenity; Вы можете использовать его для создания более сложных программ. Если вам нужна дополнительная информация о сценариях оболочки, ознакомьтесь с нашим руководством по использованию циклов for в сценариях оболочки.