Как добавить в контекстное меню в linux mint

Обновлено: 08.07.2024

Время от времени у меня появляются идеи действий, которые я хотел бы иметь в контекстном меню Nautilus. Как мне их туда добавить? Есть ли что-то вроде плагина Thunar UCA для Nautilus?

для «Создать новый документ» при щелчке правой кнопкой мыши, перейдите по

Ниже ответ устарел: недавно обновленный ответ этот один .

Контекстные меню Nautilus раньше настраивались расширениями Nautilus . Имейте в виду, что эта ссылка ведет к архивному документу; Разработчики Gnome удалили эту документацию и больше не поддерживают такую ​​настройку. Это все еще может работать, хотя.

Вы также можете поместить простые сценарии оболочки в каталог

/.gnome2/nautilus-scripts в более ранних выпусках), и они появятся в контекстном меню файла в подменю « Сценарии» .

/.local/share/nautilus/scripts папку для вставки ваших скриптов. И даже тогда она будет отображать только скрипты когда вы нажимаете правой кнопкой мыши на файл или папку, а не на пустое место.

@ Cipricus это так. Ответил на 2011 год, а это 6 лет назад . 12 релизов Ubuntu ранее. вопрос не помечен как специфический для издания, и есть очень недавние ответы @dessert - я не вижу смысла адаптировать вопрос к устаревшему ответу только потому, что этот ответ был помечен как окончательный в прошлом. Это может привести к тому, что обновленный (и получивший наибольшее количество голосов) ответ будет выглядеть здесь неуместно, тогда как можно было бы просто отметить последний ответ как окончательный. - Другим способом было бы добавить короткое редактирование к окончательному, теперь устаревшему ответу, со ссылкой на обновленный: что я только что сделал.

Обновление для Ubuntu 18.04

На момент выпуска Ubuntu 18.04 Nautilus-Actions был / больше не доступен. Похоже, что она также была заменена новой программой Filemanager-Actions, которая в остальном выглядит идентично.

Чтобы установить эту программу, посмотрите это решение.

Действия наутилуса

Мы можем определить наши собственные пункты контекстного меню, вызываемые правой кнопкой мыши, с помощью nautilus-actions .

Запустите инструмент настройки Nautilus-Actions либо из Dash, либо из терминала с

введите описание изображения здесь

На вкладке « Действие » присвойте своему действию метку, например «Открыть в Терминаторе», и выберите ее для отображения в выделенном или контекстном меню.

Затем откройте вкладку « Команда », чтобы ввести команды для запуска

введите описание изображения здесь

Укажите полный путь к вашей команде ( /usr/bin/command_to_run ) и опциям программы.

После выхода и повторного входа появится контекстное меню правой кнопкой мыши ниже:

введите описание изображения здесь

Действия Nautilus выполняются, как и ожидалось, в 12.04 Даже без этого инструмента, но следуя его логике: добавьте новое действие контекстного меню Nautilus без nautilus-actions-config-tool и добавьте 'Create launcher' в контекстное меню Nautilus (без gnome-desktop-item-edit )

Можно использовать расширение Python-Nautilus в качестве альтернативы nautilus-actions .

Скопируйте этот скрипт на Python

/.local/share/nautilus-python/extensions и перезапустите nautilus. Когда вы щелкнете правой кнопкой мыши на рабочем столе и выберете свой элемент, ваша простая команда bash будет выполнена :)

Вам может понадобиться создать nautilus-python и extensions папки, если их там нет. Я попробовал большинство решений в этой теме и обнаружил, что решение Python является лучшим. Хотя он и не идеален, главным образом из-за отсутствия документации, он допускает более гибкий сценарий и переносимость.

Если вы хотите быть в состоянии что-то сделать в любое время, делайте, как говорит ulidtko, и используйте

Если вы хотите иметь возможность настроить, когда вы его видите, установите пакет nautilus-actions, затем перейдите в System-> Preferences-> Nautilus Actions Configuration.

29 ноября 2016 года эпохи Ubuntu 14.04, 16.04 и 16.10 плюс более ранние версии.

Смотрите инструкции Nautilus для создания своего собственного скрипта здесь ( Help Ubuntu - Сценарии Nautilus Как ). В основном вы:

    Перейдите в каталог

В ( Справка Ubuntu - Образцы сценариев Nautilus ) находятся примеры сценариев для отправки файлов электронной почты, монтирования файла ISO, настройки файлов только для чтения, редактирования файла с привилегиями GEDIT ROOT, открытия терминала в текущем месте и т. Д.

Просмотрите сценарии и возьмите один в качестве шаблона для шифрования файлов, загрузки в облако, сжатия в резервное копирование или всего, что вам нужно сделать.

Лучшее решение для разработчиков приложений - использовать python-nautilus .

Создайте свой скрипт на Python ( следующие примеры и плохую документацию ) и скопируйте его в нужную папку:

Допустим, вы хотите создать приложение , которое пользователь устанавливает с помощью сценария или .deb файла, с этим в виду , я буду объяснять , почему я думаю , что python-nautilus это лучшее решение по сравнению с Nautilus-действий и наутилусов сценариев .

Действия наутилуса

Это единственное решение, которое предлагает графический интерфейс и, следовательно, облегчает создание сложного поведения, например, решает, какие пункты меню показывать, если выбран mime-тип выбранного файла text/plain .

Основная проблема этого решения заключается в том, что нелегко (если вообще возможно) импортировать записи на другой компьютер без инструмента конфигурирования и пользователя, импортирующего его, скажем просто, что это невозможно сделать со сценарием.

Сценарии Наутилуса

Это более прямолинейное решение, подобрать сценарий, поместить его в папку и все готово. Это определенно позволит установочному сценарию или .deb файлу создать новую запись в контекстном меню. Какие проблемы? С чего начать .

  • Он всегда отображается в подменю «Сценарии».
  • Это не показывает, если у вас ничего не выбрано.
  • Это не позволяет вам решить, следует ли показывать запись или нет.
  • Не позволяет всплывающие подсказки или другие названия. (может быть, я привередлива)

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

питон-наутилус

Не так легко создать, как предыдущие решения, но предлагает лучшее из обоих миров. Сценарии и настройка.

Это решение позволяет вам создать скрипт Python, который получает файлы, выбранные в nautilus, и позволяет вам решить, хотите ли вы показать запись или нет, и что делать с этой записью. Это также позволяет вам создавать подменю и / или классные вещи.

Недостатком является большая нехватка документации, и разработчики, которые просто хотят добавить запись, могут потерять пару часов на создание рабочего прототипа (в моем исследовании я нашел решение на основе C, которое было намного сложнее, чем это).

Обычно я использую код Visual Studio, в то время как в Windows он предлагает пункт контекстного меню Open with Visual Studio Code , ему не хватает той же функциональности в Linux, а с помощью решения Python было бы легко решить эту проблему. Я думаю, что приложения в Linux могли бы выиграть от интеграции наутилуса.

Контекстное меню файлового менеджера Nemo

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

1.1 Обновление 23.05.21 [to_top]

2. Вводная информация для новичков

2.1 Вступление [to_top]

Контекстным называют всплывающее меню, которое появляется при нажатии правой кнопки мыши в любой навигационной области экрана. Оно находится всегда "под рукой" во многих программах, где его реализация оправдана, (например в LibreOffice, Gimp, VLC и т.д.) и содержит в себе сценарии для решения наиболее часто возникающих у пользователя задач, что в свою очередь положительно сказывается на скорости работы и удобстве использования. Ниже пойдет речь о контекстном меню файлового менеджера Nemo (далее - КМ ФМ Nemo), созданного командой разработчиков Linux Mint и поставляемого в соответствующем дистрибутиве, начиная с 14-й версии, с окружением Cinnamon.

2.2 А вы знаете, что. [to_top]

Nemo использует несколько подходов для отображения КМ.

2.2.1 Nemo расширения [to_top]

Краткая информация о некоторых интересных расширениях nemo, которые доступны из стандартного репозитория. Не все они, но большинство, интегрируются в КМ.

Установить любое из них можно, выполнив в терминале: apt install название_пакета Получить подробную информацию: apt show название_пакета

nemo-image-converter - добавляет два КМ: "Масштабировать изображения" и "Вращать изображения".

nemo-compare - КМ "Сравнить". Использует meld для сравнения файлов и папок.

nemo-seahorse - КМ "Зашифровать" и "Подпись". Позволяет зашифровать и дешифровать файлы OpenPGP с помощью GnuPG.

nemo-filename-repairer - КМ для восстановления кодировки в названии каталогов

nemo-owncloud - добавляет интеграцию с ownCloud

nemo-dropbox - добавляет интеграцию с dropbox

nemo-media-columns - вывод информации о метаданных музыки/EXIF и PDF при отображении файлов списком (Ctrl+2)

nemo-gtkhash - добавляет вкладку "Хэши" (ПКМ по файлу --> Свойства).

nemo-audio-tab - добавляет вкладку "Звук" (ПКМ по файлу --> Свойства). Позволяет посмотреть метаданные аудиофайла.

2.2.2 Сценарии (scripts) [to_top]

Сценарии - обычные скрипты, хранящиеся в директории

/.local/share/nemo/scripts/ Для сценариев нельзя задать условия появления: они отображаются в КМ всегда (но фоновый клик в nemo не передаст в скрипт путь открытой папки). См. подробнее - cat /usr/share/nemo/script-info.md

2.2.3 Действия (actions) [to_top]

Действия главным образом характеризуют файлы с расширением .nemo_action. Если ввести команду apt content nemo-data | grep /usr/share/nemo/actions/ , то можно увидеть список предустановленных в Linux Mint КМ.

Примечание: Если вы заинтересованы в создании собственных КМ, скорее всего, вам будет интересен находящийся рядом файл /usr/share/nemo/actions/sample.nemo_action, который содержит описание всевозможных параметров, применяемых в .nemo_action. Для тех, кто плохо дружит с английским - руссифицированная версия SAMPLE_RUS.html с моими дополнениями. Для ее просмотра после клонирования репозитория откройте файл

/.local/share/nemo_context_menu/SAMPLE_RUS.html в Nemo и запустите двойным кликом. Или через терминал:


Первая команда откроет файл в браузере, переместив процесс в фоновый режим. А вторая - не даст автоматически закрыться окну браузера после закрытия родительского терминала.

В итоге, вам будет доступна текстовая версия шаблона, выглядящая следующим образом:

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

  1. Многие программы способны принимать передаваемые параметры сразу.
  2. Помимо этого репозитория, есть масса уже готовых решений, необязательно изобретать велосипед.

Итак, есть 2 директории, где хранят файлы действия: локальная

/.local/share/nemo/actions и глобальная /usr/share/nemo/actions

3. Этот репозиторий

3.1 Установка всех КМ [to_top]

Первым делом установите git:

Затем клонируйте этот репозиторий:

Установка всех nemo actions:

  1. Создайте жесткие ссылки для .nemo_action файлов, sh скриптов и иконок (скопируйте и вставьте в терминал весь "код" целиком):


И потребует подтверждение операции: Вы действительно хотите интегрировать необходимые жесткие ссылки? (Y/n). Нажмите Enter, если согласны.

Запомните на будущее: если в скобках одна из букв - заглавная, а другая - нет, то предполагается, что первая - ответ по-умолчанию, т.е. тот, что будет принят автоматически, если пользователь не станет ничего писать, а просто нажмет клавишу Enter. В данном случаи написано «Y/n», подразумевается «YES» или «no», «Y» - заглавная, значит, чтобы подтвердить операцию вам достаточно нажать Enter. А вот для случая отказа ответ придется писать ручками: «no» или «нет», или вообще сокращения «n или «н».

  1. Установите используемые в действиях/сценариях зависимости.

Пакеты, которые у вас, вероятно, есть (скопируйте и вставьте в терминал весь "код" целиком):

Пакеты, которых у вас, вероятно, нет (скопируйте и вставьте в терминал весь "код" целиком):

Если планируете пользоваться КМ "Сканирование на вирусы Clamav", то после установки обновите вручную антивирусные сигнатуры (скопируйте и вставьте в терминал команды по одной за раз):

Внимание! Для каждого .nemo_action указан раздел Dependencies. Поэтому если каких-либо зависимостей не будет хватать, КМ даже не появится.

Откройте Nemo > Alt+P (или Правка > Плагины ) > и отключите ненужные вам действия/сценарии:


3.2 Обновление всех КМ [to_top]

Перейдите в директорию, куда клонировали репозиторий, и запустите скрипт для обновления (скопируйте и вставьте в терминал весь "код" целиком):

Следуйте инструкциям из скрипта.


3.3 Описание и установка конкретных КМ

Сканирование на вирусы Clamav [to_top]

Внимание! Установленный Clamav значительно увеличивает время загрузки системы. Особенно это заметно на слабых машинах. Перед инсталляцией подумайте, действительно ли он вам нужен!

Установите зависимости:

Обновите антивирусные сигнатуры (скопируйте и вставьте в терминал команды по одной за раз):

После клонирования репозитория (скопируйте и вставьте в терминал весь "код" целиком):

Конвертирование документов MS Office, LibreOffice и txt в pdf [to_top]

После клонирования репозитория (скопируйте и вставьте в терминал весь "код" целиком):

Xed от root [to_top]

После клонирования репозитория (скопируйте и вставьте в терминал весь "код" целиком):

Объединение 2 и более изображений в одно [to_top]

После клонирования репозитория (скопируйте и вставьте в терминал весь "код" целиком):

После клонирования репозитория (скопируйте и вставьте в терминал весь "код" целиком):

Скопировать полный путь [to_top]

После клонирования репозитория (скопируйте и вставьте в терминал весь "код" целиком):

Терминальная сортировка папок и файлов по размеру [to_top]

Примечание 1: в общем случаи можно обойтись и без Nemo action, а отправлять объекты через меню "открыть с помощью" в соответствующий ярлык или меню "сценарии" в соответствующий скрипт (предварительно запихав его в

/.local/share/nemo/scripts). Но в таком формате невозможно передать в качестве параметра уже открытую папку (ведь при фоновом клике "открыть с помощью" не появляется, а в сценарии, как уже было замечено ранее, nemo не передает путь открытой папки). Поэтому я предпочитаю отдельное КМ.

Установите:

После клонирования репозитория (скопируйте и вставьте в терминал весь "код" целиком):

Примечание 2: в последних версиях nemo в некоторых случаях может "затупить" и сразу не отобразить данное КМ. Чтобы заставить его это сделать, достаточно нажать кнопку F5 или Ctrl+R (или соответствующий функционал в меню вид -> обновить). С чем связано, понятия не имею :)

Демонстрация (gif-ка):

ncdu.nemo_action

Сменить обои рабочего стола [to_top]


Это КМ работает только для изображений, которые подготовлены для слайдшоу в cinnamon-settings backgrounds . Слайдшоу при этом необязательно должно быть включено.

Установите:

Далее после клонирования репозитория (скопируйте и вставьте в терминал весь "код" целиком):

Оптимизация изображений png/jpg [to_top]

Cжимает изображения png/jpg до меньшего размера без потерь качества (оптимизация) + пытается очистить метаданные.

Для работы требуются jpegoptim - для jpg, [optipng, advancecomp] - для png, mat - для очистки метаданных. Установите:

Далее после клонирования репозитория (скопируйте и вставьте в терминал весь "код" целиком):

Вычисление хеш-сумм [to_top]

Работает со всеми типами файлов, а не только с iso, и вычисляет не только sha256, как это делает КМ из коробки (/usr/share/nemo/actions/mint-sha256sum.nemo_action).

Установите:

Далее после клонирования репозитория (скопируйте и вставьте в терминал весь "код" целиком):

Монтирование торрент-файлов [to_top]

Это возможно, благодаря btfs. Если интересны подробности, то welcome на страницу проекта.

Установите:

Далее после клонирования репозитория (скопируйте и вставьте в терминал весь "код" целиком):

Демонстрация (gif-ка):

По итогу мы имеем 2 КМ: одно - для монтирования (доступно при одиночном или множественном выборе файлов с расширением .torrent), другое - для отмонтирования (доступно при фоновом клике); и скрипт, который выполняет всю грязную работу. Сразу оговорюсь, КМ работает только с папками, которые вам (вашему пользователю) доступны для записи, а монтирование, как известно, возможно только в пустую папку.

btfs_mount.nemo_action

btfs_umount.nemo_action

btfs.sh

Скрыть папки/файлы [to_top]

Любые файлы, начинающиеся с точки, считаются скрытыми для ФМ. Но Nemo поддерживает еще один весьма удобный способ скрытия: когда в открытой директории присутствует текстовый файл .hidden, ФМ считывает строки из него. Затем, если в директории присутствует файл, название которого совпадает с текущей считанной строкой, Nemo считает файл скрытым и не показывает его пользователю. Чтобы скрывать файлы без лишних телодвижений, я написал скрипт, который сам при необходимости создаст файл .hidden и добавит переданные названия файлов.

Итак, установите:

Далее после клонирования репозитория (скопируйте и вставьте в терминал весь "код" целиком):

Демонстрация (gif-ка):

Примечание: если вам кажется, что КМ не работает, нажмите F5 или Ctrl + R, чтобы Nemo заново считал содержимое открытой директории (включая появившийся после работы КМ файл - .hidden) или закройте ФМ и откройте вновь в том же самом месте. Если и это не сработает, возможно, в настройках Nemo включено отображение скрытых файлов. Чтобы его отключить, нажмите Ctrl + H.

hidden.nemo_action

hidden.py

Поворот видео-файлов [to_top]

При воспроизведении видео-файлов, записанных на телефоне, может оказаться, что они перевернуты "вверх ногами" или на 90°. Не беда: с помощью данного КМ можно легко повернуть видео так, как вам хочется.

Установите:

Далее после клонирования репозитория (скопируйте и вставьте в терминал весь "код" целиком):

Монтирование LUKS-контейнеров [to_top]

Внимание! Скрипт, выполняющий монтирование, тестировался в LM 18.x и 19.x. Работоспособность в иных ОС не гарантируется, ввиду большого количества нюансов!

Установите:

Далее после клонирования репозитория (скопируйте и вставьте в терминал весь "код" целиком):

Примечание 1: чтобы "не загромождать" список, по-умолчанию КМ появляется для контейнеров с расширение .luks. Если вас не устраивает данное поведение и вы хотите отображать при выделении любых файлов, выполните команду sed -i 's/Extensions=luks;/Extensions=nodirs;/' "$HOME/.local/share/nemo/actions/mounting_luks_containers.nemo_action"

Демонстрация (gif-ка):

Примечание 2: простые контейнеры можно и нужно монтировать без указания директории монтирования, а также опции для обновления таблицы разделов внутри контейнера. В противном случаи, вам потребуется ввод пароля администратора.

mounting_luks_containers.nemo_action

mounting_containers.sh

3.4 Удаление всех КМ [to_top]

Удалять файлы *.nemo_action, их скрипты и используемые ими иконки, бессмысленно: объем, занимаемого ими пространства на диске, скорее всего, меньше, чем объем изображения, установленного у вас в качестве заставки рабочего стола. Однако, если вам это действительно нужно, то выполните (скопируйте и вставьте в терминал весь "код" целиком):


Затем подтвердите операцию удаления, напечатав «Yes» и нажав Enter. Готово!

Другое дело - их зависимости. Но когда дело касается зависимостей, важно понимать, что вы удаляете и быть готовыми к возможному восстановлению системы. Иначе - не миновать беды. В разделе 3.1 Установка Nemo Action я целенаправленно делю зависимости на: "пакеты, которые у вас, вероятно, есть" и которых - нет. Удаление пакетов из первого списка (в частности, акцентирую внимание на sed, coreutils, dbus, libglib2.0-bin, findutils) с высокой долей вероятности приведет к печальным последствиям. Впрочем, apt вас предупредит:


Удаление пакетов из второго списка более безопасно. Но опять же, если не брать в расчет зависимости антивируса Clamav, то оставшиеся - кушать не просят и, если речь идет о LMC (Linux Mint Cinamon), занимают места не больше 100 мб. Стоят ли эти 100 мб возможных рисков, если можно просто отключить неугодные КМ (Nemo > Alt+P (или Правка > Плагины ) > убрать галочки для ненужных КМ)?


Решать вам. Я лишь приведу команду для удаления Clamav в качестве единственно рекомендуемого действия:

Если хотите удалить другие зависимости (те самые >100 мб), то скопируйте команду из раздела 3.1 Установка Nemo Action для установки пакетов второго списка (Пакеты, которых у вас, вероятно, нет) и замените install на remove ( т.е. sudo apt remove названия_пакетов. , вместо sudo apt install названия_пакетов. ).

Редактировать меню в Ubuntu

Бывают случаи, когда наша работа не адаптируется к настройке Ubuntu. Мы могли бы изменить распределение, но мы не уверены или не хотим его менять. Много раз это воплощение можно изменить как контекстные меню из Ubuntu.

Как изменить контекстное меню

Сначала обратимся к нашему Центр программного обеспечения Ubuntu и ищем посылку "наутилус-действия”, Как только мы нашли пакет, мы устанавливаем его, и у нас уже будет установлена ​​программа Action Tools. Nautilus. Открываем и появляется следующее окно

Редактировать меню в Ubuntu

Чтобы создать новое меню в контекстном меню, нам просто нужно указать "новый предмет”И вкладки будут активированы.

Во вкладке «Действие" мы редактируем "Тег контекста"С любым именем, каким захотим. Это имя появится в контекстном меню. Мы также следим за тем, чтобы опция "Показать элемент выбора из контекстного меню».

Редактировать меню в Ubuntu

Затем переходим во вкладку "команда«И мы ищем программу, которую хотим, чтобы она выполнялась, например, канитель o LibreOffice. Одно дело, когда мы ищем программу, папка откроется по умолчанию бункер , многие программы, которые нам нужны, будут не в этой папке, а в / USR / бен куда устанавливаются пользовательские пакеты. Смотреть там. Мы также можем изменить способ открытия программы с помощью параметров, таких как указание, открывается ли она в терминале или открывается ли мы в браузере без надстроек и т. Д.

Редактировать меню в Ubuntu

Во вкладке «Выполнение«Мы видим режим выполнения и убеждаемся, что он в нормальном режиме. Остальные вкладки оставляем без изменений и сохраняем элемент, используя значок сохранения рядом с "Новый предмет». Выходим, а у нас уже есть измененное меню. Теперь мы можем добавить программы, необходимые для управления нашими файлами, а также для ускорения нашей работы и производительности с помощью дистрибутива.

Кстати, Наутилус-действия Он отмечен как вызывающий проблемы в комментариях к Центр программного обеспечения Ubuntu. Я пробовал это с Ubuntu 13.04 и он работает очень хорошо в первый раз, однако я не уверен, что он работает в предыдущих версиях. Для более старых версий рекомендуется загрузить, скомпилировать и установить исходный пакет. Я надеюсь это поможет тебе

Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

Полный путь к статье: Убунлог » Ubuntu » Учебники » Редактировать меню в Ubuntu

На десктопных операционных системах вы постоянно сталкиваетесь с файлами. Вы их скачиваете из Сети, открываете, копируете, удаляете, архивируете, пересылаете кому-то по имейлу или мессенджеру. Контекстные действия Dolphin — мощное средство для облегчения частых манипуляций с файлами. Их вы видите всякий раз в составе меню, когда кликаете правой кнопкой мыши по файлу или папке.

Как это работает.

Одна из особенностей KDE и Plasma — обилие текстовых конфигов и скриптов различного типа, которые определяют вид и поведение среды. Контекстные меню Dolphin не исключение. Часть действий из меню встроены прямо в код Dolphin, но остальные генерируются «на лету» из специальных файлов.

Контекстное меню Dolphin

Общесистемные контекстные действия хранятся в каталоге:

В дополнение к ним у каждого пользователя может быть свой набор действий в каталоге:

Создавать свои desktop-файлы для действий или скачивать их откуда-нибудь лучше всего во второй каталог.

В Dolphin есть графический интерфейс для управления контекстными действиями: Настройка -> Настроить Dolphin -> Действия:

Контекстное меню Dolphin

Там, например, можно найти действие, которого явно не хватает в стандартной поставке Dolphin — установку понравившейся картинки фоном рабочего стола. За это теперь отвечает пункт «Set As Wallpaper»:

Контекстное меню Dolphin

Также я установил действие шифрования и дешифровки файлов:

Контекстное меню Dolphin

Контекстное меню Dolphin

Это создаёт рядом файл с таким же именем и добавленным суффиксом .gpg, он зашифрован с помощью утилиты KGpg.

Некоторые действия дают возможность играться с файлами и каталогами. Например, здесь я с помощью действия «Edit description» изменил тип папки screens со стандартного folder на shots, а через действие «Folder Color» окрасил папку в фиолетовый цвет:

Контекстное меню Dolphin

Но легче всего понять концепцию действий, создав собственный desktop-файл для него.

Создание контекстного действия для Dolphin.

Если вы уже устанавливали контекстные действия через настройки Dolphin, откройте папку

/.local/share/kservices5/ServiceMenus. Если этой папки нет, просто создайте её.

Вот захотелось мне сделать такое действие, чтобы удобно было редактировать текстовые файлы от имени root. Для этого я создал файл с названием edit-from-root.desktop. Называть файл можно как угодно, главное — добавить суффикс .desktop. Вот что я поместил в этот файл:

Первая секция создаёт пункт контекстного меню с указателем на действие (Actions). В строке MimeType можно указать типы файлов, для которых будет отображаться действие.

Вторая секция описывает само действие. Строка Name задаёт текст, которым будет подписано действие в контекстном меню. Ну а Exec содержит команду, которую нужно выполнить. Сюда можно вписывать те же команды, что вводятся в терминал, или путь к какому-нибудь скрипту.

Мой desktop-файл открывает Konsole, в нём запускает редактор nano с правами рута, которые он получает через sudo и ввод пароля:

Создание контекстного действия для Dolphin

Теперь кое-что посложнее. Часто бывает так, что перед редактированием файла хочется на всякий случай сохранить его резервную копию. Вручную это делается так: вызов контекстного меню файла -> «Копировать» -> «Вставить» -> ввод нового названия файла. Я же написал такой desktop-файл:

Разумеется, нужно создать указанный в Exec скрипт:

Теперь клик по действию «Save state» создаёт копию файла с добавленным к имени суффиксом, который состоит из собачки @ и текущей даты и времени с точностью до секунды:

Создание контекстного действия для Dolphin

Автоматизируйте свой файловый менеджер.

Как видно, в контекстные действия можно обернуть почти всё что угодно. С их помощью вы будете в пару кликов мышью конвертировать файлы из одного формата в другой, шифровать их, изменять, отправлять на имейл, хостинги, облачные хранилища. В сочетании с KDialog и Bash вы получаете мощный инструмент автоматизации рутинных задач.

Хотели бы ещё статей про KDE? Напишите в комментариях, о чём хотелось бы почитать или узнать.

Читайте также: