|
||||||||
Nautilus Scriptilius
Время создания: 30.07.2019 22:14
Текстовые метки: bash
Раздел: Script
Запись: xintrea/mytetra_db_adgaver_new/master/base/1514388906wn8vh29skw/text.html на raw.githubusercontent.com
|
||||||||
|
||||||||
Перейти на главную страничку сайта (список статей, файлы для скачивания) ФОРУМ (здесь можно обсудить эту статью, а также любые проблемы программирования на различных макроязыках и в скриптовых средах) Nautilus Scriptilius На момент написания этих строк файловым менеджером по умолчанию для популярной среды GNOME является Nautilus. Этот файловый менеджер поддерживает подключение произвольных скриптов (называемых G-Scripts), которые позволяют существенно расширить его функциональные возможности. G-Script - это исполняемый сценарий командного процессора (обычно BASH), который размещён в специальном каталоге файлового менеджера Nautilus. Такие скрипты вызываются в Nautilus из меню по правой кнопке мыши. Подменю «Сценарии» этого меню позволяет выбрать конкретный скрипт, который необходимо вызвать на выделенных в настоящий момент в Nautilus файлах. Чтобы скрипт появился в меню, должны быть выполнены два условия: он должен быть помещён в каталог сценариев и быть исполняемой программой. Чтобы новый скрипт немедленно появился в меню, достаточно посетить каталог сценариев непосредственно из Nautilus, используя последний пункт в подменю «Сценарии» («Открыть папку сценариев»), или просто перезапустить Nautilus. Подменю «Сценарии» работает не только в открытых папках в окнах Nautilus, но и на Рабочем столе GNOME. Каталог сценариев может находиться примерно в таких местах (это зависит от версии Nautilus, GNOME и т.п.): ~/.gnome2/nautilus-scripts
~/.gnome/nautilus-scripts
~/.nautilus/scripts
~/Nautilus/scripts
Подпунктами меню «Сценарии» будут являться папки, вложенные в каталог сценариев, т.е. меню будет отображать иерархию вашего каталога скриптов. Для написания скриптов могут быть использованы разные языки сценариев (не обязательно BASH), например, Perl, Python и т.д. В момент вызова сценария через подменю «Сценарии» Nautilus всегда устанавливает несколько переменных среды, которые могут использоваться этим сценарием:
Выбранные файлы могут быть также получены в скрипте с помощью традиционных переменных BASH «$@» и «$*». Пример обработки переданных путей файлов на BASH внутри вашего G-Script (пути могут содержать пробелы): : > test.txt
echo "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" | while read line; do
if [ ${#line} -gt 0 ]; then
echo "$line" >> test.txt
fi
done
В примере выше переменная $line внутри цикла будет получать очередной путь. Большое количество готовых полезных скриптов для Nautilus вы можете скачать на сайте проекта G-Scripts: http://g-scripts.sourceforge.net . Если необходимо отображать скрипт в контекстном меню Nautilus только для определённого типа файлов, следует настроить меню «Открыть» в свойствах этого файла стандартным способом, назначив этот скрипт как открывающую программу. В этом случае специальные переменные среды Nautilus, описанные в таблице выше, не устанавливаются, но работают обычные переменные «$@», «$*», «$0» и «$1». Существует консольная программа zenity (http://live.gnome.org/Zenity ), которая может отображать различные диалоги, используя библиотеку GTK+ и принимая в качестве аргументов параметры создаваемого диалога. Помимо отображения информации с помощью zenity можно получать ввод пользователя. Такой механизм позволяет создавать графические диалоги даже на столь простом языке, как BASH. Zenity позволяет создавать следующие типы простых диалоговых окон: календарь, выбор файла, список для выбора, всплывающее окошко уведомления, сообщение (ошибка, информация, вопрос, предупреждение), индикатор прогресса, ввод текста, отображение текстовой информации. В последних русифицированных версиях GNOME вы можете найти обширное руководство по Zenity на русском языке, используя клавишу F1 на Рабочем столе. Кроме того, в консоли по команде «zenity --help» вы получите исчерпывающую справку, также на русском языке. Небольшой пример использования Zenity в G-Script: echo "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" | while read line; do
if [ ${#line} -gt 0 ]; then
zenity --info --text="$line" --title='Передан файл:'
fi
done
userdate=`zenity --calendar --text='Укажите дату' --title='Пример'`
zenity --info --text=$userdate' г.' --title='Выбранная дата:'
Вышеприведённый скрипт выводит пути переданных ему Nautilus'ом файлов в окнах сообщений, затем предлагает пользователю ввести дату в окне календаря, и наконец демонстрирует эту выбранную дату. Людоговский Александр, 17.09.2008г. Перейти на главную страничку сайта (список статей, файлы для скачивания) © 2007 http://www.script-coding.com При любом использовании материалов сайта обязательна ссылка на него как на источник информации, а также сохранение целостности и авторства материалов. |
||||||||
Так же в этом разделе:
|
||||||||
|
||||||||
|