Linux - the Best!

Your Explorer by Linux links...

Денис Колисниченко

Linux Советы

http://www.dkws.org.ua/

Совет №2. Меню Сценарии в GNOME

Меню Сценарии аналогично меню Действия в KDE. Аналогичен и принцип работы. Мы определяем команды меню, которые будут выполнены при выборе того или иного пункта меню. Вот только если в случае KDE файл меню имел определенный формат, то в случае с GNOME – файл меню это обычный bash-сценарий. Хорошо это или плохо зависит от того, как вы знаете bash. Если вы знаете bash хорошо, то вы сможете создавать очень сложные сценарии, позволяющие автоматизировать огромное количество рутинной работы. Действия вашего сценария не будут ограничены форматом файла, как в KDE. Ведь, по сути, в KDE для действия мы можем определить только простые команды. Если нам нужно использовать тоже разветвление (if … then) нам все равно придется писать сценарий на bash, а из меню KDE вызывать не какую-то программу, а созданный вами сценарий. А вот если вы не очень знаете bash, рекомендую его выучить, а пока вы будете его учить, вам лучше создавать дополнительные пункты меню в KDE. Идея создания пункта меню достаточно проста. Вы создаете bash-сценарий и помещаете его в каталог ~/gnome2/nautilus-scripts/. В этом каталоге можно создавать подкаталоги – они будут отображаться как дополнительные меню. На рисунке convert.png видно, что в каталоге nautilus-scripts был создан каталог Convert, а в нем – файл Convert2Gif. Думаю, с этим все ясно. Теперь рассмотрим пример самого сценария.

#!/bin/bash


convertprg=`which convert`


while [ $# -gt 0 ]; do

picture=$1

filetype=`file $picture | cut -d ' ' -f 3`

if [ $filetype = "image" ]

then

newfile=`echo "$picture" | cut -d . -f 1`

$convertprg "$picture" "$newfile".gif

fi

shift

done

Данный сценарий выполняет конвертирование изображения в формат GIF. В качестве программы-конвертера используется программа convert. Файл, по которому пользователь щелкнул правой кнопкой мыши, передается нашему сценарию как первый параметр:

picture=$1


Меню Сценарии в GNOME При написании таких сценариев действий вы можете использовать следующие переменные окружения, которые устанавливаются средой GNOME.