Начална » как да » Как да направим прости графични Shell скриптове с Zenity на Linux

    Как да направим прости графични Shell скриптове с Zenity на Linux

    Zenity добавя графични интерфейси към скриптове с една команда. Скриптовете на Shell са чудесен начин за автоматизиране на повтарящи се задачи, но те обикновено са ограничени до терминала - Zenity ги извежда от терминала и върху работния плот.

    Предоставихме въведение в скриптовете в миналото. Не е необходимо да сте програмист, за да започнете с shell-скриптове - те изискват малко повече от познаване на командните команди на Linux.

    Получаване на Zenity

    Zenity идва с Ubuntu по подразбиране. Ако използвате производно на Ubuntu, като Kubuntu, може да се наложи да го инсталирате ръчно със следната команда:

    sudo apt-get install zenity

    Zenity е част от GNOME, така че вече трябва да бъде включен в Linux дистрибуции, които използват работната среда на GNOME. Проверете вашия мениджър на пакети за Zenity пакет, ако нямате такъв.

    Използване на Zenity

    Можете да играете с Zenity от терминала. Да речем, че искате да създадете прозорец за грешка, когато възникне проблем с вашия скрипт. Ето примерна команда, която можете да използвате:

    zenity -error -title = "Възникна грешка" -text = "Възникна проблем при изпълнение на скрипта."

    Стартирайте командата и ще видите прозорец със съобщението.

    Поставете тази команда в скрипта си на правилното място и ще получите графично съобщение за грешка. Можете също да използвате променливи, за да включите повече информация за грешката.

    Да кажем, че искате да зададете въпрос „да“ или „не“. Можете да използвате команда като тази:

    zenity -question -title = ”Query” -text = ”Искате ли да стартирате скрипта?”

    Можете да хванете отговора „да“ или „не“ във вашия скрипт и да изпълнявате различни команди въз основа на кой бутон потребителят кликва.

    Има и диалогов прозорец за въвеждане на текст:

    zenity -entry -title = „Любим сайт“ -text = „Кой е любимият ти сайт?“

    Хванете входа на потребителя в скрипта на обвивката и можете да го съхраните като променлива.

    Освен това има файл за избор на файлове, календар и други видове диалогови прозорци. За пълен списък от типове диалози и техните опции се консултирайте с страницата на Ръководството на Zenity.

    Примерен скрипт

    Нека опитаме да използваме Zenity, за да създадем прост графичен скрипт. Само с три команди можем да създадем програма за графичен таймер:

    #! / Хамбар / Баш
    # Този скрипт пита потребителя за известно време, изчаква посочената сума
    # време и показва диалогов прозорец за предупреждение.

    TIME = $ (zenity -entry -title = ”Timer” -text = “Въведете продължителност на таймера. N Използвайте 5s за 5 секунди, 10 m за 10 минути или 2 часа за 2 часа.”)

    sleep $ TIME

    zenity -info -title = "Timer Complete" -текст = "Таймерът е приключил. \ t

    Тук използваме някои допълнителни трикове. Получаваме стойността на променливата TIME от първата команда zenity и я подаваме към командата sleep. Ние също използваме / п да създадете нови редове от текст в диалозите zenity.

    След като запазите скрипта и изпълните chmod + x командата на него, за да му даде изпълними разрешения, можем да го стартираме.

    Въведете продължителност и скриптът ще използва стандарта сън команда за броене във фонов режим. Когато таймерът на командата sleep приключи, скриптът ще покаже информационното съобщение zenity.

    Можете да създадете десктоп или панел за пряк път за този скрипт и да го стартирате без дори да докосвате терминала.


    Това е просто надраскване на повърхността на това, което можеш да направиш с зенита; можете да го използвате, за да направите много по-сложни програми. Ако търсите повече информация за скриптовете на черупки, разгледайте нашето ръководство за използване на цикли в shell скриптове.