Гид по технологиям

Как добавить пользовательские действия в Nautilus

7 min read Linux Обновлено 26 Nov 2025
Nautilus: добавление пользовательских действий
Nautilus: добавление пользовательских действий

Важно: инструкция предназначена для GNOME/Nautilus. Для других файловых менеджеров (Nemo, Thunar) концепция похожа, но шаги и названия пакетов отличаются.

Интерфейс Nautilus с пользовательскими действиями и контекстным меню

Значок пакета nautilus-actions в меню настроек

Что такое nautilus-actions и зачем он нужен

Nautilus — стандартный файловый менеджер окружения GNOME. Пакет nautilus-actions (иногда встречается как Nautilus-Actions Configuration Tool) добавляет графический интерфейс управления пользовательскими действиями, которые появляются в правом клике на файле или папке. Каждое действие — это привязка команды или скрипта к условию показа (тип файла, mimetype, локальный/удалённый ресурс и прочее).

Короткое определение: nautilus-actions — GUI-инструмент для добавления кастомных пунктов в контекстное меню Nautilus.

Польза:

  • Автоматизация повторяющихся задач (конвертация, архивация, отправка по почте).
  • Удобный доступ к командам без открытия терминала.
  • Снижение числа шагов при работе с файлами.

Требования и подготовка

  • Установленный Nautilus (GNOME Files).
  • Пакет nautilus-actions (или его современный эквивалент в вашей дистрибуции).
  • Команда или скрипт, который будет выполнять нужное действие (например, ffmpeg для конвертации видео).

Примеры установки (Ubuntu/Debian-подобные):

sudo apt update
sudo apt install nautilus-actions ffmpeg
# После установки перезапустите Nautilus, если требуется:
nautilus -q && nautilus &

Где найти бинарь утилиты, если не знаете путь:

whereis ffmpeg

Шаг за шагом: создание действия для конвертации .flv в .mp4 (iPod)

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

  1. Откройте конфигуратор nautilus-actions: «Система > Параметры > Nautilus Actions» или запустите из меню приложений.

Диалог добавления нового действия в Nautilus

  1. Нажмите «Добавить».

Кнопки управления действиями: добавить, редактировать, импорт/экспорт

  1. В поле «Label» введите текст, который будет отображаться в контекстном меню, например: Конвертировать для iPod. По желанию задайте иконку и подсказку.

  2. Переход на вкладку Path and Parameters (Путь и параметры):

    • Path — полный путь к утилите, в нашем примере /usr/bin/ffmpeg.
    • Parameters — параметры, которые будут подставлены при вызове. Пример команды для ffmpeg (вставьте целиком):
-i %d/%f -f mp4 -vcodec libxvid -maxrate 01000 -qmin 3 -qmax 5 -bufsize 4096 -g 300 -acodec aac -s 480x320 -ab 0128000 -b 400000 %d/%f.mp4

Пояснения:

  • %d — директория выбранного файла.
  • %f — имя выбранного файла.
  • %M — заменяет список выбранных файлов, если хотите обрабатывать несколько файлов одновременно.

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

Пример ввода пути и параметров для действия

  1. Во вкладке «Условия» (Condition) задайте, для каких файлов будет виден пункт меню. В поле filename введите *.flv и отметьте, что действие применяется только к файлам.

Окно условий показа действия

  1. Во вкладке «Дополнительные условия» можно ограничить показ только для локальных файлов, Samba, FTP и т. п. Для простоты выберите «локальные файлы».

  2. Сохраните действие нажатием OK.

Успешно созданное действие в списке конфигуратора

Теперь в Nautilus найдите .flv-файл, кликните правой кнопкой и увидите пункт «Конвертировать для iPod». После запуска в той же папке появится .mp4 с тем же именем плюс .mp4.

Результат использования действия: создан mp4 рядом с исходным flv

Советы по отладке и расширению

  • Сначала тестируйте команду в терминале с реальным файлом, чтобы убедиться, что параметры работают.
  • Для сложных процедур создавайте скрипт (например, /usr/local/bin/convert_for_ipod.sh), делайте в скрипте логирование и вызов из nautilus-actions выглядит проще: /usr/local/bin/convert_for_ipod.sh “%d/%f”.
  • Если действие редактируется редко, экспортируйте настройки и храните резервную копию.
  • Для нескольких файлов используйте %M и реализуйте цикл обработки в скрипте.
  • При базе скрипта указывайте абсолютные пути ко всем утилитам, чтобы избежать проблем с PATH.

Пример простого скрипта-обёртки (сохраните как /usr/local/bin/nautilus_convert_ipod и сделайте chmod +x):

#!/bin/bash
# $1 — путь к файлу, например /home/user/Video/input.flv
INPUT="$1"
DIR=$(dirname "$INPUT")
BASE=$(basename "$INPUT")
/usr/bin/ffmpeg -i "$INPUT" -f mp4 -vcodec libxvid -acodec aac "$DIR/${BASE}.mp4"

Альтернативные подходы

  • Nautilus scripts (папка ~/.local/share/nautilus/scripts) — простой способ добавлять сценарии без GUI; скрипты появляются в меню «Сценарии».
  • Nemo Actions — если вы используете Cinnamon/Nemo, у Nemo есть собственный конфигуратор actions.
  • Thunar custom actions — для окружения XFCE.
  • Расширения на Python/Perl для Nautilus — для сложной интеграции с интерфейсом.

Когда nautilus-actions не подходит:

  • Если вам нужно динамическое диалоговое окно с прогрессом и управлением — лучше писать плагин или внешнее приложение с GUI.
  • Для массовой пакетной обработки тысяч файлов удобнее использовать отдельные скрипты и планировщик задач.

Ментальные модели и эвристики

  • Правило трёх: если вы выполняете одну и ту же операцию больше 3 раз в неделю — автоматизируйте её.
  • Разделение обязанностей: GUI‑пункт должен быть «тонкой» обёрткой над командой; сложную логику выносите в скрипт.
  • Минимизация прав: не давайте командному пункту права суперпользователя без явной нужды.

Чек-лист перед публикацией действия для команды

Для разработчика/администратора:

  • Команда проверена в терминале.
  • Скрипт имеет shebang и права на исполнение.
  • Используются абсолютные пути к бинарям.
  • Логирование ошибок реализовано и доступно.

Для пользователя/дизайнера:

  • Название пункта меню понятно и коротко.
  • Иконка и подсказка информативны.
  • Условие показа (mimetype/маска) корректно задано.

Безопасность и приватность

  • Не выполняйте команды с SSE-переменными или пользовательскими аргументами без санитаризации; избегайте прямой вставки неочищённых строк в shell-выражения.
  • Если действие обращается к удалённым ресурсам или отправляет файлы по сети, предупредите пользователя о возможной передаче данных.
  • Убедитесь, что скрипты и команды не читают секретные файлы и не записывают конфиденциальные данные в логи.

Совместимость и миграция

  • В разных версиях GNOME/Nautilus API и имена пакетов могут отличаться; проверяйте актуальность пакета nautilus-actions в репозитории вашей дистрибуции.
  • Для перехода на новый менеджер окон (Nemo/Thunar) потребуется адаптировать настройки или написать новый набор скриптов.

Критерии приёмки

  • Пункт меню отображается только для целевых типов файлов.
  • Выполнение действия создаёт ожидаемый результат (файл с нужным расширением и форматом).
  • Ошибки обрабатываются и записываются в лог; при ошибке пользователь получает информативное сообщение.
  • Действие не требует прав суперпользователя для работы с пользовательскими файлами.

Частые ошибки и способы их устранения

  • Ничего не происходит при клике на пункт меню — проверьте путь к бинарю и права на выполнение.
  • Появляется сообщение о «Permission denied» — проверьте права доступа к папке/файлу и права на исполнение скрипта.
  • Пункт меню виден для всех файлов — проверьте маску filename или mimetype, используйте точные условия.

Примеры использования и сценарии

  • Конвертация видео в формат для мобильных устройств.
  • Объединение нескольких PDF в один файл через pdftk или qpdf.
  • Быстрое создание архивов tar.gz или zip для отправки.
  • Отправка выбранного файла через локальный почтовый скрипт или внутренний инструмент обмена файлами.

FAQ

Q: Нужно ли перезапускать Nautilus после установки nautilus-actions?

A: Часто требуется перезапуск Nautilus, чтобы он подхватил новые настройки. Выполните nautilus -q && nautilus & или выйдите и снова войдите в сессию GNOME.

Q: Как обрабатывать несколько файлов за один раз?

A: Используйте %M в параметрах или передавайте список файлов в скрипт и обрабатывайте их циклом.

Q: Могу ли я использовать диалоги для запроса опций у пользователя?

A: Да — в скрипте можно вызвать zenity или yad для отображения GUI-диалогов и получения дополнительных параметров.

Q: Опасно ли давать доступ к sudo в action?

A: Лучше избегать использования sudo из пунктов контекстного меню. Если необходимо, реализуйте безопасный рабочий процесс с подтверждением и учётом рисков.

Заключение

Nautilus-actions — простой и мощный инструмент для повышения эффективности рабочего процесса в GNOME. Он подходит для пользователей, которые хотят превратить часто выполняемые команды в удобные пункты контекстного меню. Начните с простой команды, протестируйте в терминале, затем перенесите её в действие; для сложной логики используйте скрипты и сохраняйте резервные копии конфигураций.

И ещё: экспериментируйте. Иногда простая автоматизация экономит минуты каждый день и часы в месяц.

Краткое резюме

  • nautilus-actions добавляет пункты в контекстное меню Nautilus и запускает команды или скрипты.
  • Проверьте команду в терминале, используйте %d/%f/%M для передачи аргументов.
  • Для сложной логики выносите код в скрипты; используйте абсолютные пути и логирование.

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

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро