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

После сохранения сценария оболочки и запуска на нем команды chmod + x , чтобы дать ему права на выполнение, мы можем его запустить.

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

Вы можете создать ярлык на рабочем столе или панели для этого скрипта и запускать его, даже не касаясь терминала.

Это просто царапает поверхность того, что вы могли бы сделать с zenity; Вы можете использовать его для создания более сложных программ. Если вам нужна дополнительная информация о сценариях оболочки, ознакомьтесь с нашим руководством по использованию циклов for в сценариях оболочки.

Оцените статью
TutoryBird.Ru
Добавить комментарий