Домашняя » как » Как сделать простые графические сценарии оболочки с Zenity в Linux

    Как сделать простые графические сценарии оболочки с 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 в сценариях оболочки.