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