Как создавать диалоговые блоки в интерактивных shell скриптах

Alexey 27.12.2014 5 Утилиты Bash, shell, whiptail

Введение

KDE это вторая по распространенности графическая среда пользователя для Linux (первая это GNOME). Так же как и GNOME, KDE предоставляет не только визуальный интерфейс для управления прикладными программами, но и целый набор прикладных программ. Если пытаться очень кратко охарактеризовать KDE, то можно сказать, что это наиболее Windows-подобная из всех линуксовых графических оболочек. Я бы сказал, что KDE повторяет графический интерфейс Windows, добавляя к нему много "наворотов".

В этой статье будет рассмотрен KDE 4-й версии, поскольку это актуальные на сегодняшние день релизы. Хотя в каких-то дистрибутивах еще наверное можно встретить и KDE третьей версии. Скриншоты, используемые в этой статье, взяты из Mandriva 2011. В других дистрибутивах внешний вид может немного отличаться, но принципиально все будет так же.

Добавление команды в контекстное меню файла

Благодаря программе FileTypesMan Вы сможете быстро и без вмешательства в реестр добавить собственные команды в контекстное меню.

Чтобы расширить список команд, связанных с форматом файла, выберите его в списке, щелкните правой кнопкой мыши в нижней части окна и выберите команду New Action.

В новом окне Edit Action, в полях Action Name и Menu Caption, введите, соответственно, имя операции и содержание команды, которое будет отображаться в контекстном меню.

В поле Command-Line поместите команду, которая будет выполнять запланированную вами операцию. Если вы хотите открывать файл какой-то программой, укажите путь к исполняемому файлу данного редактора, например, Notepad++ или выберите программу с помощью кнопки Select From Running Programs:

Читайте также:  Как обойти блокировку сайтов при помощи VPN Gate и OpenVPN

Если Вы хотите, чтобы созданный пункт использовался по умолчанию, установите ещё отметку в поле Default Action и нажмите ОК.

Добавленная команда будет отображаться в контекстном меню, которое открывается при щелчке файла правой кнопкой мыши.

KDE – настроит почти всё

Настольная среда К (K Desktop Environment) – именно так расшифровывается аббревиатура KDE. Эта графическая среда — практически полная противоположность GNOME, поскольку выглядит куда более привлекательно, интересно, а самое главное позволяет самостоятельно настраивать облик и поведение среды до неузнаваемости. Так к примеру, для KDE существуют очень качественные темы оформления, которые заставляют выглядеть рабочий стол (включая окна, панели, виджеты и т. д.) как в других ОС, Windows или Mac. KDE предпочитают в большинстве случаев люди очень творческие, которым очень нравится всё настраивать «под себя», которые ценят «свободу действий» при использовании разного рода ПО. Например, если пользователю очень нравится внешний вид Windows или Mac, но в то же время он работает в Linux, то KDE предоставляет ему возможность установить или настроить любимую тему оформления.

KDE – настроит почти всё

Рис. 7: Компоновка рабочего пространства с помощью виджетов KDE.

До определённого времени существовало мнение, что KDE слишком «тяжела» для слабого или устаревшего железа. Отчасти это так, но только если сравнивать её с GNOME. На самом деле, c KDE пользователь будет довольно комфортно себя чувствовать даже используя нетбук. На сегодняшний день благодаря активной поддержке и развитию проекта, была проделана огромная работа по оптимизации потребления ресурсов для KDE и теперь её невозможно назвать требовательной графической средой. Большинство пользователей отмечают (особенно с выходом новых версий фреймворков Plasma 5 и Qt 5, на которых основана KDE), что даже на фоне вроде бы лёгкой и шустрой GNOME, KDE уже смотрится более выгодно и привлекательно. В настоящее время можно с уверенностью утверждать, что по быстродействию и даже производительности KDE как минимум не уступает GNOME. А великолепный внешний вид среды (да ещё с широкими возможностями его настройки) заставляет всё больше пользователей склоняться к выбору в свою пользу.

KDE – настроит почти всё

Рис. 8: Веб-браузер Firefox в среде KDE.

Читайте также:  Apple выпустили пятую бета-версию iOS 11.4 beta 5

KDE поддерживает виджеты Plasma, которые предназначены для расширения функционала рабочего стола и добавления в него интерактивных элементов, повышающих эффективность использования системы. По-умолчанию пользователю доступен набор виджетов для самых распространённых задач: мониторинг дискового пространства, сети, файлов, всевозможные заметки, часы, погода и многое другое. Также можно установить дополнительные виджеты, для чего существует специальный браузер или создать свой собственный.

KDE – настроит почти всё

Рис. 9: Выбор декорации окон в среде KDE.

Также как и с виджетами, можно настраивать и расширять практически любую составляющую графической среды: загружать новые обои рабочего стола, шрифты, оформления окон значков, смайлов, экранов загрузки и даже готовых глобальных тем оформления Plasma. И всё это делается при помощи встроенных утилит и браузеров для расширения и настройки той или иной составляющей графической среды.

KDE – настроит почти всё

Одной из особенностей KDE является поддержка так называемых рабочих «комнат» или Activities, которые задуманы для того, что бы отделять между собой для каждого рода занятий свои настройки и оформление рабочей среды. Например, пользователь любит играть в игры и в то же время его работа связана с веб-дизайном или программированием. Для каждого из этих занятий он может настроить свой собственный рабочий стол, который позволяет максимально эффективно сосредотачиваться на конкретной работе. При этом можно просто и быстро переключаться между комнатами без необходимости каждый раз настраивать рабочее окружение. Даже программы можно вручную не запускать, поскольку это также можно настроить и нужное ПО будет запускаться автоматически при переходе в соответствующую комнату.

Как и GNOME, KDE обладает большим набором программ, специально разрабатываемых для этой среды. Обычно в наименовании ПО для KDE (как и по аналогии с GNOME) присутствует буква «К». Например веб-браузер Konqueror (на движке которого основаны Safari и Chrome) изначально появился для KDE. Офисными пакетами являются такие как KMail, KOrganizer, Word – текстовый процессор, Sheets – электронные таблицы. Существует для KDE также и своя профессиональная интегрированная среда разработки (IDE) – Kdevelop. Более подробно ознакомиться с приложениями KDE можно по адресу:

KDE – настроит почти всё

Сооздание строки прогресса

Другой дружественный пользователю диалоговый блок это прогресс бар. whiptail читает из стандартного ввода проценты (от 0 до 100) и отображает соответствующий индикатор датчика.

Читайте также:  iOS 14: ошибки обновления, их решение и ответы на вопросы

whiptail —gauge "<текст для отображения>" <высота> <ширина> <начальный процент>

Пример:

#!/bin/bash { for ((i = 0 ; i <= 100 ; i+=20)); do sleep 1 echo $i done } | whiptail —gauge "Please wait while installing" 6 60 0

Сооздание строки прогресса

Теперь вы увидели, как легко создавать полезные диалоговые блоки в интерактивных шелл скриптах. В следующий раз, когда вам понадобиться написать шелл скрипт для кого-то, почему бы не попробовать whiptail и не впечатлить его или её?