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. Мы также используем /n для создания новых строк текста в диалогах zenity.
После сохранения сценария оболочки и запуска на нем команды chmod + x , чтобы дать ему права на выполнение, мы можем его запустить.
Введите длительность, и сценарий будет использовать стандартную команду sleep для обратного отсчета в фоновом режиме. Когда таймер команды сна завершится, скрипт отобразит информационное сообщение zenity.
Вы можете создать ярлык на рабочем столе или панели для этого скрипта и запускать его, даже не касаясь терминала.
Это просто царапает поверхность того, что вы могли бы сделать с zenity; Вы можете использовать его для создания более сложных программ. Если вам нужна дополнительная информация о сценариях оболочки, ознакомьтесь с нашим руководством по использованию циклов for в сценариях оболочки.