Nautilus Scriptilius

На момент написання цих рядків файловим менеджером за промовчанням для популярного середовища GNOME є Nautilus. Цей файловий менеджер підтримує підключення довільних скриптів (званих G-Scripts), які дозволяють суттєво розширити його функціональні можливості. G-Script - це сценарій командного процесора, що виконується (зазвичай BASH), який розміщений у спеціальному каталозі файлового менеджера Nautilus.

Такі скрипти викликаються в Nautilus з меню правою кнопкою миші. Підменю «Сценарії» цього меню дозволяє вибрати конкретний скрипт, який необхідно викликати на виділених зараз у файлах Nautilus. Щоб скрипт з'явився в меню, повинні бути виконані дві умови: він повинен бути поміщений у каталог сценаріїв та бути програмою, що виконується. Щоб новий скрипт негайно з'явився в меню, достатньо відвідати каталог сценаріїв безпосередньо з Nautilus, використовуючи останній пункт у підменю "Сценарії" ("Відкрити папку сценаріїв") або просто перезапустити Nautilus. Підменю «Сценарії» працює не лише у відкритих папках у вікнах Nautilus, а й на робочому столі GNOME.

Каталог сценаріїв може знаходитися приблизно в таких місцях (це залежить від версії Nautilus, GNOME тощо):

Підпунктами меню «Сценарії» будуть папки, вкладені у каталог сценаріїв, тобто. меню відображатиме ієрархію вашого каталогу скриптів.

Для написання скриптів можуть бути використані різні мови сценаріїв (не обов'язково BASH), наприклад Perl, Python і т.д.

У момент виклику сценарію через підменю «Сценарії» Nautilus завжди встановлює кілька змінних середовищ, які можна використовувати цим сценарієм:

NAUTILUS_SCRIPT_SELECTED_FILE_PATHSрозділені перекладами рядків шляху вибраних локальних файлів
NAUTILUS_SCRIPT_SELECTED_URISрозділені перекладами рядків URI вибраних файлів
NAUTILUS_SCRIPT_CURRENT_URIпоточне розташування
NAUTILUS_SCRIPT_WINDOW_GEOMETRYпозиція та розмір поточного вікна

Вибрані файли можуть бути також отримані в скрипті за допомогою традиційних змінних BASH "$@" та "$*".

Приклад обробки переданих шляхів файлів на BASH всередині вашого G-Script (шляхи можуть містити пробіли):

У прикладі вище змінна $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:

Наведений вище скрипт виводить шляхи переданих йому Nautilus'ом файлів у вікнах повідомлень, потім пропонує користувачеві ввести дату у вікні календаря, і нарешті демонструє цю обрану дату.