Установка zenity Синтаксис и опции Примеры использования Добавление zenity в bash-сценарии
Окружение
Zenity — кроссплатформенная утилита, позволяющая создавать различные типы диалоговых окон GTK+ в командной строке и сценариях командной оболочки. Утилита упрощает взаимодействие между пользователем и командной оболочкой.
Вы можете подробнее ознакомиться с возможностями графического окружения MATE, просмотрев наши обучающие видео:
на RuTube — Zenity — утилита для создания диалоговых окон из командной строки или с помощью сценариев;
в Яндекс.Дзен — Zenity — утилита для создания диалоговых окон из командной строки или с помощью сценариев;
в VK Видео — Zenity — утилита для создания диалоговых окон из командной строки или с помощью сценариев.
На наших каналах вы также сможете найти много другой полезной информации.
По умолчанию в РЕД ОС утилита zenity уже установлена (расположена в каталоге /usr/bin/zenity). Проверьте, установлена ли утилита zenity в вашей системе и доступна ли она для использования, выполнив следующую команду:
which zenity
Если по какой-либо причине утилита zenity не установлена, для ее установки выполните команду (потребуются права администратора):
sudo dnf install zenity
Утилита доступна для запуска через терминал при помощи команды следующего вида:
zenity [опции]
Основные опции:
Виды диалоговых окон:
Параметры общего назначения:
Для вывода диалогового окна с предупреждением введите в терминал команду:
zenity --warning --text="Сообщение для пользователей" --width=300
Параметры диалога предупреждения:
Для вывода диалогового окна с вопросом введите в терминал следующую команду:
zenity --question --text="Введите интересующий вопрос?" --width=300
Параметры, используемые для запроса:
Для вывода диалогового окна с календарем для выбора желаемой даты введите следующую команду:
zenity --calendar
Параметры, используемые для вывода диалогового окна, в котором будет отображен календарь:
Для запроса данных для ввода от пользователя выполните:
zenity --entry --text="Введите имя файла"
Параметры ввода текста:
Для создания диалогового окна с сообщением при первом входе пользователя в систему выполните следующий алгоритм действий.
1. Создайте файл в каталоге /home/user1/ (замените user1 на актуальное имя пользователя):
nano /home/user1/zenitywel.sh
2. Добавьте в него следующие строки:
#!/bin/bash export LANG=ru_RU.UTF-8 /usr/bin/zenity --info --text="Добро пожаловать" --width=300 --height=150
3. Выдайте права на исполнение файла:
chmod +x /home/user1/zenitywel.sh
4. Создайте файл в каталоге /etc/xdg/autostart/ для автозапуска уведомления во время авторизации пользователя:
nano /etc/xdg/autostart/WelcomeZenity.desktop
5. Добавьте в него следующие строки:
[Desktop Entry] Type=Application Name=Welcome Message Comment=Shows a welcome message Exec=/home/user1/zenitywel.sh Terminal=false X-MATE-Autostart-enabled=true #если используется графическая оболочка MATE X-GNOME-Autostart-enabled=true #если используется графическая оболочка GNOME X-KDE-Autostart-enabled=true #если используется графическая оболочка KDE
6. Перезапустите ПК. После авторизации пользователя отобразится диалоговое окно.
Для создания bash-скрипта выполните следующий алгоритм действий:
1. Для создания файла скрипта введите команду:
nano newscript.sh
2. Впишите в файл следующие строки и сохраните файл:
#!/bin/bash zenity --forms --title="Добавление сведений" \ --text="Введите информацию ниже:" \ --separator="," \ --add-entry="Имя" \ --add-entry="Фамилия" \ --add-combo=Пол \ --combo-values="мужской|женский"\ --add-entry="СНИЛС" \ --add-calendar="Дата рождения" case $? in 0) echo "Информация добавлена.";; 1) echo "Информация не добавлена.";; -1) echo "Произошла ошибка.";; esac
3. Для предоставления прав на выполнение файла выполните команду:
chmod +x newscript.sh
4. Для запуска скрипта выполните команду:
./newscript.sh
Результат выполнения скрипта:
С дополнительной информацией по созданию интерактивных меню можно ознакомиться в наших статьях:
Дата последнего изменения: 31.01.2025
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.
Нажимая «Отправить запрос», вы соглашаетесь с условиями обработки персональных данных.
Вы будете получать только актуальную информацию по обновлению безопасности
Подписываясь на уведомления, вы соглашаетесь с условиями обработки персональных данных.
На ваш почтовый адрес отправлено письмо с подтверждением подписки.