Как сделать простые графические сценарии оболочки с Zenity на Linux

Оглавление:

Как сделать простые графические сценарии оболочки с Zenity на Linux
Как сделать простые графические сценарии оболочки с Zenity на Linux

Видео: Как сделать простые графические сценарии оболочки с Zenity на Linux

Видео: Как сделать простые графические сценарии оболочки с Zenity на Linux
Видео: Делаем Windows 7 из 8.1! Сборка от подписчика - YouTube 2024, Апрель
Anonim
Zenity добавляет графические интерфейсы к сценариям оболочки с помощью одной команды. Сценарии Shell - отличный способ автоматизировать повторяющиеся задачи, но обычно они ограничиваются терминалом - Zenity выводит их из терминала и на ваш рабочий стол.
Zenity добавляет графические интерфейсы к сценариям оболочки с помощью одной команды. Сценарии Shell - отличный способ автоматизировать повторяющиеся задачи, но обычно они ограничиваются терминалом - Zenity выводит их из терминала и на ваш рабочий стол.

В прошлом мы ввели введение в сценарии оболочки. Вам не обязательно быть программистом, чтобы начать работу с сценариями оболочки - им требуется немного больше, чем знание команд терминала Linux.

Получение Zenity

По умолчанию Zenity поставляется с Ubuntu. Если вы используете производные Ubuntu, такие как Kubuntu, вам может потребоваться установить его вручную с помощью следующей команды:

sudo apt-get install zenity

Zenity является частью GNOME, поэтому он уже должен быть включен в дистрибутивы Linux, которые используют рабочий стол GNOME. Проверьте менеджер пакетов для Zenity если у вас его нет.

Использование Zenity

Вы можете играть с Zenity с терминала. Предположим, вы хотите создать окно ошибки, когда возникает проблема с вашим сценарием оболочки. Вот пример команды, которую вы могли бы использовать:

zenity –error –title=”An Error Occurred” –text=”A problem occurred while running the shell script.”

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

Предположим, вы хотите задать вопрос «да» или «нет». Вы можете использовать команду, подобную этой:

zenity –question –title=”Query” –text=”Would you like to run the script?”

Вы можете поймать ответ «да» или «нет» в своем сценарии оболочки и выполнить разные команды на основе кнопки, которую пользователь нажимает.
Вы можете поймать ответ «да» или «нет» в своем сценарии оболочки и выполнить разные команды на основе кнопки, которую пользователь нажимает.
Также есть диалоговое окно ввода текста:
Также есть диалоговое окно ввода текста:

zenity –entry –title=”Favorite Website” –text=”What is your favorite website?”

Поймайте вход пользователя в сценарий оболочки, и вы можете сохранить его как переменную.
Поймайте вход пользователя в сценарий оболочки, и вы можете сохранить его как переменную.
Также есть выборщик файлов, календарь и другие типы диалогов. Полный список типов диалогов и их варианты см. В справочной странице Zenity.
Также есть выборщик файлов, календарь и другие типы диалогов. Полный список типов диалогов и их варианты см. В справочной странице Zenity.

Пример сценария

Попробуем использовать Zenity для создания простого графического сценария оболочки. Имея всего три команды, мы можем создать графическую программу таймера:

#!/bin/bash # This script asks the user for a time, waits the specified amount # of time, and shows an alert dialog.

TIME=$(zenity –entry –title=”Timer” –text=”Enter a duration for the timer.

Use 5s for 5 seconds, 10m for 10 minutes, or 2h for 2 hours.”)

sleep $TIME

zenity –info –title=”Timer Complete” –text=”The timer is over.

It has been $TIME.”

Image
Image

Мы используем некоторые дополнительные трюки. Мы получаем значение переменной TIME из первой команды zenity и передаем ее команде sleep. Мы также используем / п для создания новых строк текста в диалоговом окне zenity.

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

Image
Image

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

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

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

Рекомендуемые: