Вступление
Zenity — это утилита для создания простых графических диалоговых окон (GUI) в командной строке на Linux. Она позволяет выводить окна с кнопками, полями ввода, списками, прогресс-барами и другими элементами прямо из bash-скриптов.
Установка
sudo apt install zenity
Основные возможности Zenity
- Создание диалоговых окон (информационных, предупреждений, ошибок).
- Ввод данных через текстовые поля, формы, пароли.
- Выбор файлов, дат, цветов.
- Отображение прогресс-баров (удобно для длительных задач).
- Поддержка кастомизации (заголовки, размеры, иконки).
Примеры:
Информационное окно
zenity --info --title="Сообщение" --text="Привет, это Zenity!"
Окно с вопросом (Yes/No)
zenity --question --title="Подтверждение" --text="Продолжить?"
if [ $? = 0 ]; then
echo "Пользователь согласился"
else
echo "Пользователь отказался"
fi
Ввод текста
answer=$(zenity --entry --title="Ввод данных" --text="Введите ваше имя:")
echo "Вы ввели: $answer"
Выбор файла
file=$(zenity --file-selection --title="Выберите файл")
echo "Выбран файл: $file"
Прогресс-бар
(
echo "10" ; sleep 1
echo "50" ; sleep 1
echo "100" ; sleep 1
) | zenity --progress --title="Загрузка" --text="Идёт процесс..." --percentage=0
Выбор из списка
choice=$(zenity --list --title="Меню" --column="Выберите действие" "Копировать" "Удалить" "Переименовать")
echo "Выбрано: $choice"