Linux - the Best!

Your Explorer by Linux links...

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

Linux Советы

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

Совет №1. Создание собственных действий в сервисном меню KDE

Давайте создадим дополнительную команду, которая делает файл исполнимым, то есть был обычный файл, а стал – программой. Это действие очень полезно, если вы часто пишите сценарии bash. Ведь сценарий bash – это обычный текстовый файл, созданный в текстовом редакторе. Чтобы сценарий запускался, нужно сделать его исполнимым. Данный совет посвящается любителям «все делать мышкой» - кому лень вводить команду chmod +x имя_файла. Итак, приступим к созданию этого «шедевра». В любимом текстовом редакторе создайте файл следующего содержания:

[Desktop Entry]

ServiceTypes=all/allfiles

ServiceType=application/x-shellscript

Actions=MakeExe


[Desktop Action MakeExe]

Name=Make executable

Name[ru]=Сделать файл исполнимым

Exec=chmod +x %f

Icon=kfm

Рассмотрим первую секцию. Первая опция задает тип файлов, для которых можно выполнить указанное действие. В данном случае действие доступно для всех файлов (allfiles). Если вам нужно выполнить какое-то действие для каталога, то в параметр ServiceTypes должен принять значение inode/directory:

ServiceTypes=inode/directory

Вообще в качестве значения данного параметра можно указать любой MIME-тип, например:

ServiceTypes=audio/x-mp3

Если вам нужно выполнить какое-то действие для всех типов файлов, кроме каких-то определенных используется параметр ExcludeServiceTypes (Исключить сервисные типы). Например, если мы определяем действие архивирования, то должны указать сервисные тип – все файлы, но исключить архивы, например:

ServiceTypes=all/allfiles

ExcludeServiceTypes=application/x-zip,kdedevice/*

Параметр Actions определяет действия, описанные в файле. В данном случае описано только одно действие MakeExe, которое определено в секции [Desktop Action MakeExe]. Параметр Name – это надпись, которую вы увидите в сервисном меню KDE. Это общая надпись, которую увидит пользователь, ее желательно писать на английском языке. Параметр Name[ru] – это тоже надпись, описывающая действие, но на русском языке. Пользователь увидит ее, если KDE у него на русском языке. Параметр Exec – это команда, которая будет выполнена. %f – это параметр, определяющий имя файла, то есть имя файла, на котором вы щелкнули правой кнопкой, будет подставлено вместо %f. Созданный файл сохраните под именем make_exe.desktop. Как видите, в этом нет ничего сложного. Осталось только сохранить файл в нужном каталоге – servicemenus. Данный каталог находится в каталоге /usr/share/apps/conqueror/:

$ sudo cp make_exe_desktop /usr/share/apps/conqueror/servicemenus/

Для записи в этот каталог нужный права супер пользователя, поэтому для выполнения команды cp нужна команда sudo, которая и обеспечит нужные полномочия (вам нужно будет ввести пароль пользователя root). Если же администратор системы - не вы или вы хотите добавить команду в меню только локального пользователя, скопируйте файл make_exe_desktop в каталог ~/.kde/share/apps/conqueror/servicemenus/.

$ cp make_exe_desktop ~/.kde/share/apps/conqueror/servicemenus/

Результат вашей работы появится в меню Действия (Actions) сервисного меню KDE:


Созданное меню